var 
c1welf,
c2welf,
c1ygap,
c1lambdaq,
c1q,
c1i,
c1k,
c1c,
c1cne,
c1cd,
c1mc,
c1oc,
c1id,
c1rpipd,
c1mi,
c1v,
c1y,
c1rk,
c1l,
c1o,
c1rrs,
c1m,
c1tbal,
c1gtbal,
c1g,
c1shockgy,
c1op,
c1os,
c1ow,
c1rpopd,
c1oi,
c1zc,
c1zclag,
c1zi,
c1yo,
c1lagyo,
c1dyo,
c1muoc,
c1lagmuoc,
c1muc,
c1omegacm,
c1lagomegacm,
c1omegaim,
c2lambdaq,
c2q,
c2i,
c2k,
c2c,
c2cne,
c2cd,
c2mc,
c2oc,
c2id,
c2rpipd,
c2mi,
c2v,
c2y,
c2rk,
c2l,
c2o,
c2rrs,
c2m,
c2tbal,
c2gtbal,
c2g,
c2shockgy,
c2op,
c2os,
c2ow,
c2rpopd,
c2oi,
c2zc,
c2zclag,
c2zi,
c2yo,
c2lagyo,
c2dyo,
c2muoc,
c2lagmuoc,
c2muc,
c2omegacm,
c2lagomegacm,
c2omegaim,
c1rer,
c2rpwopd,
c1rpwopd,
c1b,
c1rpmcpd,
c2rpmcpd,
c1z,
c2z,
c1zw,
c1zwlag,
c1muo,
c2muo,
c1muow,
c1muowlag,
c1rpmipd,
c1x,
c2rpmipd,
c2x,
c2w,
c1w,
c2oy,
c1oy,
c2thetapvar,
c1thetapvar,
c2wdes,
c1wdes,
c2thetawvar,
c1thetawvar,
c1lambdaq_pot,
c1q_pot,
c1i_pot,
c1k_pot,
c1c_pot,
c1cne_pot,
c1cd_pot,
c1mc_pot,
c1oc_pot,
c1id_pot,
c1rpipd_pot,
c1mi_pot,
c1v_pot,
c1y_pot,
c1rk_pot,
c1l_pot,
c1o_pot,
c1rrs_pot,
c1m_pot,
c1tbal_pot,
c1g_pot,
c1op_pot,
c1os_pot,
c1ow_pot,
c1rpopd_pot,
c1oi_pot,
c2lambdaq_pot,
c2q_pot,
c2i_pot,
c2k_pot,
c2c_pot,
c2cne_pot,
c2cd_pot,
c2mc_pot,
c2oc_pot,
c2id_pot,
c2rpipd_pot,
c2mi_pot,
c2v_pot,
c2y_pot,
c2rk_pot,
c2l_pot,
c2o_pot,
c2rrs_pot,
c2m_pot,
c2tbal_pot,
c2g_pot,
c2op_pot,
c2os_pot,
c2ow_pot,
c2rpopd_pot,
c2oi_pot,
c1rer_pot,
c2rpwopd_pot,
c1rpwopd_pot,
c1b_pot,
c1rpmcpd_pot,
c2rpmcpd_pot,
c1rpmipd_pot,
c1x_pot,
c2rpmipd_pot,
c2x_pot,
c2w_pot,
c1w_pot,
c2oy_pot,
c1oy_pot,
c2rmcpd_pot,
c1rmcpd_pot,
c2wdes_pot,
c1wdes_pot,
c2rpcpd_pot,
c1rpcpd_pot,
c2rmcpd,
c1rmcpd,
c2rpcpd,
c1rpcpd,
c2dpd,
c1dpd,
c2dcore,
c1dcore,
c1dhead,
c1dpwo,
c2rpnepd,
c1rpnepd,
c1rs,
c2rs,
c1pitar,
c2pitar,
c1hw,
c1gw,
c1wstar,
c1omegabar,
c1omega,
c2hw,
c2gw,
c2wstar,
c2omegabar,
c2omega,
c1hp,
c1gp,
c1pstar,
c1pidbar,
c1pid,
c1deltad,
c2hp,
c2gp,
c2pstar,
c2pidbar,
c2pid,
c2deltad,
c1yd,
c2yd,
c1yd_pot,
c2yd_pot,
c1logdeltagdp,
c2logdeltagdp,
c1rngdpy,
c2rngdpy,
deltalog_gdp_jp_obs, 
deltalog_gdp_for_obs, 
dpcexfe_log_jp_obs,  
rer_log_jp_obs, 
dcomp_log_jp_obs,  
fedfunds_jp_obs, 
fixi_share_jp_obs, 
pce_share_jp_obs, 
exp_share_jp_obs, 
imp_share_jp_obs, 
oilimp_share_jp_obs,
oilprod_jp_deltalog_obs,
oilprod_for_deltalog_obs, 
delta_logoilprice_jp_obs,
fixi_share_for_obs,    	
imp_share_for_obs, 	
pce_share_for_obs,	
gov_share_for_obs, 	
exp_share_for_obs, 	
gov_share_jp_obs, 	
hours_dlog_jp_obs; 

varexo  
c1shockgyerr//Home government spending 
c1zcerr//Home Technology
c1zierr//Home investment
c1yoerr//Home oil supply 
c1muocerr//Oil Demand, st. dev. of innovation
c1mucerr//For. Consumption Shock
c1omegacmerr//Home imports
c2shockgyerr//Foreign government spending 
c2zcerr//Foreign Tecnhology
c2zierr//Foreign investment
c2yoerr//Foreign oil supply 
c2muocerr//Foreign Oil Demand
c2mucerr//For. Consumption Shock
c2omegacmerr//Home imports
c1zwerr//World Technology shock
c1muowerr//World oil demand International shock
c2thetapvarerr//Foreign Price markup
c1thetapvarerr//Home Price markup
c2thetawvarerr//Foreign wage markup
c1thetawvarerr//Home wage markup
c1pitarerr//Home Monetary Policy
c2pitarerr;//Foreign Monetary Policy

parameters 
c1adjswitch,
c1ziswitch,
c2adjswitch,
c2ziswitch, 
c1chi, 
c1sigma,   
c1vkappa, 
c1grmuoss, 
c1grmuzss, 
c1grmuzoss, 
c1muoss,
c1muzss, 
c1muzoss, 
c1psii, 
c1beta, 
c1delta, 
c1telast,  
c1oelast, 
c1rhoc, 
c1rhoo,
//c1phimc, 
//c1phioc,   
c1kelast, 
c1rhov, 
  c1omegal, 
  c1ratiooyoc,  
  c1shareiy, 
  c1sharegy,   
c1sharemy,
c1shareowy_nominal,  
 c1alphaop, 
 c1deltao, 
 c1less, 

 c1phibparm,
c1phib, 
c2phibparm,  
c2phib, 
c1gamrs,  
c1gamdpc, 
c1gamgdpgap,                
c1gamrs2,  
c1gamdpc2, 
c1gamdpwo, 
c1gamomega,  
c1pistar,  
c1tauw,  
c1taup,  
c1rsss,     
c1relc2,  

c1omegavy, 
c1omegaoc, 
c1omegamc, 
c1omegami, 
c1omegaoy, 

//additional parameters in sticky price model 
c1iotap, 
c1iotaw, 
c1xip, 
c1xiw,
c1thetap, 
c1thetaw,  
c1gamdw, 

//shocks 

c1rhopitar,  
c1scalepitarerr, 

c1rhogy, 
c1scaleshockgyerr, 

c1rhozc1,   
c1scalezcerr, 
c1rhozc2,  

c1rhozw1, 
c1scalezwerr, 
c1rhozw2, 

c1rhomuow1,     
c1rhomuow2,  
c1scalemuowerr,  
 
c1rhothetapvar, 
c1scalethetapvarerr,  

c1rhothetawvar, 
c1scalethetawvarerr,  


c1rhozi,  
c1scalezierr,  

c1rhoyo1,          
c1rhoyo2, 
c1scaleyoerr,  

c1rhomuoc1,  
c1rhomuoc2,  
c1scalemuocerr,  
  
c1rhomuc, 
c1scalemucerr, 

c1rhoomegacm1, 
c1rhoomegacm2, 
c1scaleomegacmerr,  



c2sigma, 
c2vkappa,  
c2grmuzss,  
c2psii, 
c2beta,  
c2delta,   
c2rhoc,   
c2rhoo,
c2phimc,  
c2phioc,  
c2grmuoss, 
c2rhov, 
c2omegal, 
c2shareiy,  
c2sharegy,   
c2sharemy,   
c2shareowy_nominal,     		 
c2shareyoy,  
c2pwoss, 
c2rhogy,  
c2shareoy, 
c2alphaop, 
c2deltao, 
c2grmuzoss,  
c2rhozc1,  
c2rhozc2,  
c2scalezcerr,  
c2rhozi,  
c2scalezierr, 
c2rhoyo1,  
c2rhoyo2,  

c2scaleyoerr,  
c2rhomuoc1,   
c2rhomuoc2,  
c2scalemuocerr,  
c2rhomuc, 
c2scalemucerr,  
c2rhoomegacm1,  
c2rhoomegacm2,  
c2scaleomegacmerr,  
c2phioy,  
c2rhothetapvar, 
c2scalethetapvarerr, 
c2labshare,   
c2chi,  
c2rhothetawvar,  
c2scalethetawvarerr, 
c2thetap,     
c2thetaw,  

c2xip,
c2iotap,      
c2iotaw,   
c2xiw,  
c2gamrs,  
c2gamdpc,  
c2gamdw, 
c2gamrer,  
c2gamgdpgap,  
c2rhopitar, 
c2scalepitarerr, 

c2omegaoc, 
c2omegacc, 
c2omegac, 
c2omegamc, 
c2omegai, 
c2omegami, 
c2rhoi, 
c2omegavy,
c2omegaoy,
c2pistar,  
c2tauw, 
c2taup, 
c2less, 
c2rsss, 
c2muzss, 
c2muoss, 

c1rhoi, 
c1shareky,  
c1shareoop, 
c1shareopos, 
c1shareowo, 
c1pwoss,  
c1shareowy,  
c1shareyoy, 
c1shareoy, 
c1shareoyy,  
c1sharevy, 

c1sharecy,  
			
c1shareopow,  
c1shareoiow, 

c1shareocc, 
c1sharecnc, 
c1sharemcm, 
c1sharemim, 
c1sharemccn, 

c1sharemii,  

c1ratiomimc,  
c1rkstar,  
c2rkstar,   
c1labshare,   
c1chi0,    
c1omegacc,  
c1omegac,  
c1omegai,    
c2chi0,   
c1omegak,  
c2ratiooyoc,   
c2shareoyy, 
c2sharevy,  
c2omegak,    
c1sharely,    
c2sharely,   
c1yss,  
c2yss,  
c2shareowy,  

c1sharexy,     
c1mugdpss,  

c2sharecy, 
c2shareocc,  
c2sharecnc, 
c2sharemcm,  
c2sharemccn,  
c2sharemim,  
c2sharemii, 
c2shareky,  
c2sharexy,  
c2muzoss, 
c2ratiomimc, 
c2scaleshockgyerr,  


c2mugdpss, 
c2shareoop, 
c2shareopos, 
c2shareowo, 
c2shareopow,  
c2shareoiow, 
c2shareoprod, 
c2shareocon, 

%steady state ratio between nominal GDP and nominal gross output
c1sharengdpny;

c1adjswitch =1;
c1ziswitch = 0;
c2adjswitch =1;
c2ziswitch = 0;


c1chi = 59.54;//'c1chi',0.001,1000,'Determines Lab. Supply El. (1/param/2)'};//determines labor supply elasticity 
c1sigma  = 1;//intemporal consumption elaticity
c1vkappa = 0.8;//'c1vkappa', 0.0, 0.98,'Habits in Consumption';...
c1grmuoss  = 1.003771117;// growth of oil supply steady state calibrated parameter...steady state calibrated parameter
c1grmuzoss = 1.009843865;// price of oil growth...steady state calibrated parameter 

//c1muoss = 1.003771117;// mean of oil growth demand in JP see Oil Imports Japan % GDP.xlsx
//c1muzoss = 1.009843865; // mean of price oil growth in JP see Oil Imports Japan % GDP.xlsx

c1psii = 3.51;//'c1psii',0,50,'Investment Adjustment Cost';...
c1beta = 1.05;//0.99;//'c1beta',0.95,1.01,'Discount Factor';...
c1delta = 0.025;//'depreciation rate of capital' Bodenstein (2012) 
c1telast = 0.878; //elasticity of substitution between domestic goods and importsJP Chen(2012)    
c1oelast = 0.422;//elasticity of substitution between oil and domestic consumption 
//c1phimc = 0;//'c1phimc', 0,100, 'Nonoil Trade Adjustment Costs';... 
//c1phioc = 0;//'Adjustment Costs For Oil Demand';...    
c1kelast = 0.5;//K-L sub. elasticity
  
c1omegal = 1; //weight of labor in CES aggregator
c1ratiooyoc = 1.08;//ratio of oil inputs in production to inputs in consumption see FUEL CONSUMPTION FOR RESIDENTIAL AND COMMERCIAL USE (F.Y.1990--2012).xls		
c1shareiy  = 0.284;//investment share of gross output  see average Carsa Investments Japan Usa.xls USA SHAREIY IS PROBABLY WRONG
c1sharegy = 0.14; //government spending share of gross output  see CARSA Government Expenditure USA Japan .xls
c1sharemy = 0.094; //see parmfile_assembled.m
c1shareowy_nominal = 0.0212;//see parmfile_assembled.m
c1alphaop = 0.9999; //related with oil supply 
c1deltao = 0.4; //related with oil supply 
c1less = 0.3333;// share of time spent working
c1phibparm  = 0.0001;// Curvature of bond intermed. cost
c1gamrs = 0.655386;//'c1gamrs',0,0.95,'Policy Rate Smoothing';
c1gamdpc = 0.190719;//'c1gamdpc',.01,10,'Weight on Inflation in Monetary Policy Rule';...
c1gamgdpgap = 0.5 ;//'c1gamgdpgap',0,5,'Weight on Output Gap in Monetary Policy Rule';...  US 0.0000003272               
//c1gamrs2 = c1gamrs; 0.655386;// monetary policy 0.65533860773213 US
//c1gamdpc2 = c1gamdpc  ;0.19071900990448;// monetary policy
c1gamdpwo = 0.000000010292301;// monetary policy 0 US
c1gamomega =0.000000002585413;//monetary policy    US
c1pistar = 1.006651291;//steady State Inflation  is the average mean of dpcexfe_Jp_obs  ...1.0114 US 
//c1tauw = c1thetaw; 0.0001;//Lagged wage indexation 0.000 US
//c1taup = c1thetap; 0.0001;//Lagged price indexation 0.000 US
//c1rsss = 0.009196973;//steady state nominal interest rate is the average mean of fedfunds_jp_obs...   0.01 US 
c1relc2 = 0.5;//relative size of home country 0.5 US see later 

c1omegavy = 0.991;//weight of value added in production 0.9707 US see JP Value added %GDP.xlsx 
c1omegaoc = 0.0079;// see FUEL CONSUMPTION FOR RESIDENTIAL AND COMMERCIAL USE (F.Y.1990--2012).xls
c1omegamc = 0.061;//see REST OF THE WORLD ACCOUNTS (C.Y.2005--12, F.Y.2005--12).xls
c1omegami = 0.32;//see REST OF THE WORLD ACCOUNTS (C.Y.2005--12, F.Y.2005--12).xls
c1omegaoy = 0.0084;//see FUEL CONSUMPTION FOR RESIDENTIAL AND COMMERCIAL USE (F.Y.1990--2012).xls

//additional parameters in sticky price model 
c1iotap = 0.00000045;//lagged price  indexation
c1iotaw = 0.00000032;//lagged wage indexation
c1xip = 0.8139;//Calvo Price Parameter
c1xiw = 0.8899;//Calvo wage Parameter 
c1thetap = 0.10;
c1thetaw  = 0.10;
//c1gamdw  = 0; 

//shocks 

c1rhopitar  = 0.402;// U.S. Monetary Policy, AR(1) coef.';...   
c1scalepitarerr = 0.021;//standard deviation of U.S. Monetary Policy

c1rhogy =  0.5; //'c1rhogy', arlowerbound, arupperbound, 'U.S. Government Expenditure Shock AR(1) coef.';...0.9989
c1scaleshockgyerr = 0.0246; // U.S. Gov. Exp. st. dev. of innovation';....0.0246 Japan 0.15

c1rhozc1  =  0.2162; // Technology, growth AR coef.';...  
c1scalezcerr = 0.00655;// U.S. Technology, st. dev. of innovation';...0.00655
c1rhozc2  =  0.0001; //Technology, level error corr. coef.';...  

c1rhozw1 = 0.01;//World Technology, growth AR coef.
c1scalezwerr = 0.001;//'World Technology, st. dev. of innovation';...  
c1rhozw2  = 0.001;//World Technology, level error corr. coef.';...   

c1rhomuow1 = 0.01;// 'World Oil Demand, growth AR coef.' ;...       
c1rhomuow2 =  0.001;// 'World Oil Demand, level error corr. coef.' ;...  
c1scalemuowerr = 0.001; //'World Oil Demand, st. dev. of innovation';... 
 
c1rhothetapvar =  0.7401; //U.S. Price Markup, AR(1) coef.';...  
c1scalethetapvarerr = 0.4773; //U.S. Price Markup, st. dev. of innovation';...

c1rhothetawvar = 0.9768; // U.S. Wage Markup, AR(1) coef.';...
c1scalethetawvarerr = 3.698; //U.S. Wage Markup, st. dev. of innovation';...

c1rhozi = 0.9059;//Investment Technology, AR coef.';...
c1scalezierr = 0.0265;//U.S. Inv. Tech. st. dev. of innovation';...  0.0265 

c1rhoyo1 =  0.1243;//U.S. Oil Supply, growth AR coef.';...        
c1rhoyo2 = 0.0001;//U.S. Oil Supply, level error corr. coef.';...    
c1scaleyoerr = 0.025;// U.S. Oil Supply, st. dev. of innovation';...   

c1rhomuoc1 =0.0001;//Oil Demand, growth AR coef.';...    
c1rhomuoc2 =  0.0144;//Oil Demand, level error corr. coef.';...   
c1scalemuocerr = 0.047;// U.S. Oil Demand, st. dev. of innovation';...  
  
c1rhomuc =  0.9188; //Consumption Shock, AR(1) coef.';... 
c1scalemucerr = 0.6484;// U.S. Consumption Shock, st. dev. of innovation';... 

c1rhoomegacm1 = 0.0001;// Import, growth AR coef.';...
c1rhoomegacm2 = 0.0019; //Import, level error corr. coef.';...
c1scaleomegacmerr = 0.02684; //U.S. Import, st. dev. of innovation';...



c2sigma = 1.5;
c2vkappa  = 0.8; 

c2psii  = 3.515; 
c2beta  = 0.99; 
c2delta  = 0.025; 
c2rhoc   = 1.32; 
c2rhoo   = 1.731; 
c2phimc  = 0; 
c2phioc  = 0; 

c2rhov = 2; 
c2omegal =1; 
c2shareiy  = 0.238; 
c2sharegy  = 0.165; 
c2sharemy  = 0.12;
c2shareowy_nominal = 0.088;           		 
c2shareyoy = 0.015; 
c2pwoss =  0.999; 
c2rhogy  = 0.9989;
c2shareoy =  0.045; 
c2alphaop = 0.9999; 
//c2deltao  = c1deltao; 0.4;


c2rhozc1  =   0.2162;
c2rhozc2  = 0.0001; 
c2scalezcerr  = 0.0107; 
//c2rhozi = c1rhozi; 1; 
//c2scalezierr = c2scalezierr;1; 
c2rhoyo1  = 0.1235; 
c2rhoyo2  = 0.0001;

c2scaleyoerr = 0.1;
c2rhomuoc1  = 0.0001;
c2rhomuoc2  = 0.0144;    
c2scalemuocerr = 0.1269; 
c2rhomuc = 0.9; 
c2scalemucerr = 0.71744; 
c2rhoomegacm1  = 0; 
//c2rhoomegacm2 = c1rhoomegacm2; 0;
c2scaleomegacmerr = 0.0412; 
c2phioy  = 0;
c2rhothetapvar  = 0.74013; 
c2scalethetapvarerr = 0.477;
c2labshare  = 0.4999; 
c2chi  =  10; 
c2rhothetawvar = 0.9768;
c2scalethetawvarerr = 3.698; 
//c2thetap  = c1thetap;        
//c2thetaw =  c1thetaw; 
//c2iotap = c1iotap; 0.00000045;
//c2xip  = c1xip; 0.81;
//c2iotaw  = c1iotaw; 0.00000032;
//c2xiw = c2xiw; 0.89;


//c2gamrs  = c1gamrs; 0.001;
//c2gamdpc  = c1gamdpc; 0.001;   
c2gamdw  = 1000; 
c2gamrer = 0;
//c2gamgdpgap = c1gamgdpgap;0.001; 
c2rhopitar = 0.402; 
c2scalepitarerr = 0.021;

c2omegaoc = 0.041;
c2omegacc = 0.959;
c2omegac =  0.961;
c2omegamc = 0.039; 
c2omegai =  0.75;
c2omegami = 0.75; 
c2rhoi = 1.32097; 
c2omegavy = 0.9707; 
c2omegaoy = 0.057; 
c2pistar = 1; 
//c2tauw =  c2thetaw; 
//c2taup = c2thetap;
c2less = 0.333;
c2rsss = 0.01;

c1phibparm  = 0.0001;// Curvature of bond intermed. cost
c1phib=0.0001;
c1gamdw  = 0; 
 
c2phibparm  = 0.0001;// Curvature of bond intermed. cost
c2phib=0.0001;

//c2muoss = c1grmuoss;//1.0026;// mean of oil growth demand 
//c2muzss = c1grmuzss;//1.005763995437; 
//c2muzoss = c1grmuzss/ c1grmuoss; 


//c1rhoi = c1rhoc;// elasticity of substitution investment imports  
//c1shareky = 1/(1-((1-c1delta)/c1muzss))*c1shareiy; //4.898376623;
//c1shareoop = (c1beta*(1-c1alphaop)/c1alphaop/(c1muoss-c1beta*(1-c1deltao)))^(1-c1alphaop); //0.9999;
//c1shareopos = (1-c1beta/c1muzss*c1muzoss*(1-c1deltao))/(c1beta*(1-c1alphaop)/c1alphaop); //0.0000405808; 
//c1shareowo = 1/c1shareoop+(1-(1-c1deltao)/c1muoss)*c1muoss*(c1muoss*c1shareopos)^-c1alphaop;// 0.403047947;  
//c1pwoss = c1alphaop * c1shareoop; //0.99906854;  
//c1shareowy = c1shareowy_nominal/c1pwoss;//0.040637853; 
//c1shareyoy = c1shareowy * 0.3;
//c1shareoy = c1shareowy/c1shareowo;
//c1shareoyy = c1shareoy*(1-1/(1+c1ratiooyoc));//0.02926573; 
//c1sharevy = 1-c1shareoyy; // 0.97073427; 

//c1sharecy = 1+c1shareoy-c1shareowy*c1pwoss+c1pwoss*c1shareyoy-c1shareoyy-c1shareiy-c1sharegy;//0.61012; 
			
//c1shareopow  =   (1/(c1shareoop))/c1shareowo;
//c1shareoiow  =  1-1/c1shareoop/c1shareowo; 

//c1shareocc = (c1shareoy-c1shareoyy)/c1sharecy; //0.025788799; 
//c1sharecnc = 1-c1shareocc;
//c1sharemcm = c1sharecnc*c1sharecy/(c1sharecnc*c1sharecy+c1shareiy); //0.748233236; 
//c1sharemim = 1-c1sharemcm; 
//c1sharemccn = c1sharemy*c1sharemcm/(c1sharecy)/c1sharecnc; //0.151060059;

//c1sharemii = c1sharemy * c1sharemim / c1shareiy; //0.151060059; 

//c1ratiomimc  = c1sharemim/c1sharemcm;
//c1rkstar = c1muzss/c1beta - 1 + c1delta; 
//c2rkstar = c2muzss/c2beta - 1 + c2delta; 
//c1labshare = c1less/(1-c1less); 
//c1chi0 = 0.02;//(c1w)*(c2lambdaq)/((1-(c1l))^(-c1chi));  
//c1omegacc =  1 - c1omegaoc; 
//c1omegac =  1 - c1omegamc;
//c1omegai =   1 - c1omegami ;  
//c2chi0 = 0.02;//(c2wdes)*(c2lambdaq)/((1-(c2l))^(-c2chi)); 
//c1omegak =  1/(1-(1-c1delta)/c1muzss)*(c1rkstar)^((1+c1rhov)/c1rhov)/c1muzss*c1shareiy/c1sharevy; // 1.54;
//c2ratiooyoc = c1ratiooyoc; 
//c2shareoyy =  c2shareoy*(1-1/(1+c2ratiooyoc)); // 0.057830975 ;
//c2sharevy  =  1-c2shareoyy; // 0.942169025 ; 
//c2omegak = 1/(1-(1-c2delta)/c2muzss)*(c2rkstar)^((1+c2rhov)/c2rhov)/c2muzss*c2shareiy/c2sharevy; // 0.96817468 ;  
//c1sharely  = c1sharevy*(1-c1omegak*c1rkstar^(-1/c1rhov))^(1+c1rhov); // 1.410279756; 
//c2sharely  =  c2sharevy*(1-c2omegak*c2rkstar^(-1/c2rhov))^(1+c2rhov); //  1.150570611 ;
//c1yss =  1/(c1sharely/c1less);
//c2yss =  1/(c2sharely/c2less);
//c2shareowy = c2shareowy_nominal/c2pwoss; //  0.035840191;


//c1sharexy   =  c1sharemy+(c1shareowy-c1shareyoy)*c1pwoss; // 0.145613972;    
//c1mugdpss  =  (c1muzss+ ( -c1shareoyy+c1shareoy - c1pwoss*c1shareowy + c1pwoss*c1shareyoy)*c1muoss )/( 1 + ( -c1shareoyy+c1shareoy - c1pwoss*c1shareowy + c1pwoss*c1shareyoy) );  //1.005831931; 


//c2sharecy =  1+c2shareoy-c2shareowy*c2pwoss+c2pwoss*c2shareyoy-c2shareoyy-c2shareiy-c2sharegy;
//c2shareocc  =  (c2shareoy-c2shareoyy)/c2sharecy; //  0.040431527;
//c2sharecnc = 1-c2shareocc;
//c2sharemcm = c2sharecnc*c2sharecy/(c2sharecnc*c2sharecy+c2shareiy); // 0.831063959; 
//c2sharemccn = c2sharemy*c2sharemcm/(c2sharecy)/c2sharecnc; // 0.081476188; 
//c2sharemim = 1-c2sharemcm;  
//c2sharemii = c2sharemy*c2sharemim/c2shareiy; // 0.081476188; 
//c2shareky  = (1/(1-(1-c2delta)/c2muzss)) * c2shareiy; // 4.903933874;
//c2sharexy  = c2sharemy-(c1shareowy-c1shareyoy)*c1pwoss*c1relc2*c1yss/c2yss; // 0.058490922;
//c2muzoss = c2muzss/c2muoss; 
//c2ratiomimc = c2sharemim/c2sharemcm; // 0.203276822; 
//c2scaleshockgyerr = c1scaleshockgyerr ;


//c2mugdpss =  (c2muzss+ ( -c2shareoyy+c2shareoy - c2pwoss*c2shareowy + c2pwoss*c2shareyoy)*c2muoss )  /( 1 + ( -c2shareoyy+c2shareoy - c2pwoss*c2shareowy + c2pwoss*c2shareyoy) ); // 1.005559766;  
//c2shareoop = (c2beta*(1-c2alphaop)/c2alphaop/(c2muoss-c2beta*(1-c2deltao)))^(1-c2alphaop); // 0.9999;
//c2shareopos = (1-c2beta/c2muzss*c2muzoss*(1-c2deltao))/(c2beta*(1-c2alphaop)/c2alphaop);// 0.0000405808; 
//c2shareowo = 1/c2shareoop+(1-(1-c2deltao)/c2muoss)*c2muoss*(c2muoss*c2shareopos)^-c2alphaop; // 0.403047947;
//c2shareopow  =  (1/(c2shareoop))/c2shareowo; // 0.000101049;  
//c2shareoiow =  1-1/c2shareoop/c2shareowo; // 0.999898951; 
//c2shareoprod = c2shareyoy/(c2shareyoy+c1shareyoy*c1relc2*c1yss/c2yss); // 0.954971775;
//c2shareocon  = c2shareowy/(c2shareowy + c1shareowy*c1relc2*c1yss/c2yss); // 0.816406591;

//steady state ratio between nominal GDP and nominal gross output
//c1sharengdpny = 1 - c1shareoyy + c1shareyoy;

model;

//////////////////////////////////
// Home country bloc 
//////////////////////////////////

//c1shockgy = c1rhogy*c1shockgy(-1) + c1scaleshockgyerr*c1shockgyerr;
//c1zc = (1+c1rhozc1-c1rhozc2)*c1zc(-1) - c1rhozc1*c1zclag(-1) + c1scalezcerr*c1zcerr;
//exp(c1zclag) = exp(c1zc(-1));
//c1zi = c1rhozi*c1zi(-1) + c1scalezierr*c1zierr;//40
//c1yo = (1+c1rhoyo1-c1rhoyo2)*c1yo(-1) - c1rhoyo1*c1lagyo(-1) + c1scaleyoerr*c1yoerr;
//exp(c1lagyo) = exp(c1yo(-1));
//c1dyo = c1yo - c1yo(-1);

//oil inventory equations (old version)
(exp(c2o)) = (exp(c2op))^c2alphaop*(exp(c2os(-1))/ 1.0026 )^(1-c2alphaop);
(exp(c2os)) = (1-c2deltao)/ 1.0026   * exp(c2os(-1)) + (exp(c2oi));
(exp(c2ow)) = (exp(c2op)) + (exp(c2oi));
(exp(c2rpwopd)) = (exp(c2rpopd))*c2alphaop*(exp(c2o))/(exp(c2op));
(exp(c2rpwopd)) = c2beta/c2grmuzss*c2grmuzoss*(exp(c2lambdaq(+1))/exp(c2lambdaq))*(exp(c2rpopd(+1))*(1-c2alphaop)*c2grmuoss*exp(c2o(+1))/(exp(c2os))+ exp(c2rpwopd(+1))*(1-c2deltao));

//(old version)
(exp(c1o)) = (exp(c1op))^c1alphaop*(exp(c1os(-1))/1.0026)^(1-c1alphaop);
(exp(c1os)) = (1-c1deltao)/c1grmuoss * exp(c1os(-1)) + (exp(c1oi));
(exp(c1ow)) = (exp(c1op)) + (exp(c1oi));
(exp(c1rpwopd)) = (exp(c1rpopd))*c1alphaop*(exp(c1o))/(exp(c1op));
(exp(c1rpwopd)) = c1beta/c1grmuzss*c1grmuzoss*(exp(c1lambdaq(+1))/exp(c1lambdaq))*(exp(c1rpopd(+1))*(1-c1alphaop)*c1grmuoss*exp(c1o(+1))/(exp(c1os))+ exp(c1rpwopd(+1))*(1-c1deltao));

//oilprod_jp_deltalog_obs  = c1dyo + ( c1grmuoss  - 1 );//c1yo(-1) - c1lagyo(-1) + ( c1grmuoss  - 1 );//matched to non-demeaned growth rate, useful to estimation purposes


// investment
exp(c1i) = ((c1omegai)^(c1rhoi/(1+c1rhoi))*exp(c1id)^(1/(1+c1rhoi))+(c1omegami*exp(c1omegaim))^(c1rhoi/(1+c1rhoi))*(exp(c1mi))^(1/(1+c1rhoi)))^(1+c1rhoi);

// welfare
c1welf = 1/exp(c1muc)*log(exp(c1muc)*exp(c1c)-c1vkappa/c1grmuzss*exp(c1c(-1)))
      +c1chi0/(1-c1chi)*(1-exp(c1l))^(1-c1chi)
      +c1beta*c1welf(1);

c2welf = 1/exp(c2muc)*log(exp(c2muc)*exp(c2c)-c2vkappa/c2grmuzss*exp(c2c(-1)))
      +c2chi0/(1-c2chi)*(1-exp(c2l))^(1-c2chi)
      +c2beta*c2welf(1);

// fonc consumption
(exp(c1muc)*exp(c1c)-c1vkappa/c1grmuzss*exp(c1c(-1)))^(-1) = exp(c1lambdaq)*exp(c1rpcpd);

// fonc labor
exp(c1wdes) =  c1chi0*(1-exp(c1l))^(-c1chi)/exp(c1lambdaq);

// fonc investment
1- exp(c1q)*exp(c1zi)*(1-c1psii/2*(exp(c1i)/exp(c1i(-1))*c1grmuzss-c1grmuzss)^2)
+exp(c1q)*exp(c1zi)*exp(c1i)*c1psii*(exp(c1i)/exp(c1i(-1))*c1grmuzss
-c1grmuzss)/exp(c1i(-1))*c1grmuzss-c1beta*exp(c1rpipd(+1))/exp(c1rpipd)*exp(c1lambdaq(+1))/exp(c1lambdaq)
*exp(c1q(+1))*exp(c1zi(+1))*exp(c1i(+1))*c1psii*(exp(c1i(+1))/exp(c1i)*c1grmuzss
-c1grmuzss)*exp(c1i(+1))/exp(c1i)^2*c1grmuzss = 0;

// fonc capital
exp(c1q) = c1beta/c1grmuzss/exp(c1rpipd)*exp(c1lambdaq(+1))/exp(c1lambdaq)*exp(c1rk(+1))+(1
-c1delta)*c1beta/c1grmuzss*exp(c1q(+1))*exp(c1rpipd(+1))/exp(c1rpipd)*exp(c1lambdaq(+1))/exp(c1lambdaq);

// capital accumultion
exp(c1k)  = (1-c1delta)/c1grmuzss*exp(c1k(-1))+exp(c1zi)*exp(c1i)*(1-c1psii/2*(exp(c1i)/exp(c1i(-1))*c1grmuzss-c1grmuzss)^2);

// final consumption
exp(c1c) = ((c1omegacc)^(c1rhoo/(1+c1rhoo))*exp(c1cne)^(1/(1+c1rhoo))
+(c1omegaoc)^(c1rhoo/(1+c1rhoo))*(exp(c1muo)*exp(c1oc))^(1/(1+c1rhoo)))^(1+c1rhoo);

// final consumption
(exp(c2c)) = ((c2omegacc)^(c2rhoo/(1+c2rhoo))*(exp(c2cne))^(1/(1+c2rhoo))
+(c2omegaoc)^(c2rhoo/(1+c2rhoo))*((exp(c2muo))*(exp(c2oc)))^(1/(1+c2rhoo)))^(1+c2rhoo);//10

// nonoil consumption
exp(c1cne) = ((c1omegac)^(c1rhoc/(1+c1rhoc))*exp(c1cd)^(1/(1+c1rhoc))+(c1omegamc*(exp(c1omegacm)))^(c1rhoc/(1+c1rhoc))*(exp(c1mc))^(1/(1+c1rhoc)))^(1+c1rhoc);

// fonc nonoil consumption
exp(c1rpcpd)*(c1omegacc*exp(c1c)/exp(c1cne))^(c1rhoo/(1+c1rhoo))*(c1omegac*exp(c1cne)/exp(c1cd))^(c1rhoc/(1+c1rhoc)) = 1;

// fonc imports
exp(c1rpmcpd) = exp(c1rpcpd)*(c1omegacc*exp(c1c)/exp(c1cne))^(c1rhoo/(1+c1rhoo))*(c1omegamc*(exp(c1omegacm))*exp(c1cne)/exp(c1mc))^(c1rhoc/(1+c1rhoc));

// fonc oil
exp(c1rpopd) = exp(c1rpcpd) *(c1omegaoc*exp(c1c)/exp(c1muo)/exp(c1oc))^(c1rhoo/(1+c1rhoo))*exp(c1muo);

// investment
//exp(c1i) = ((c1omegai)^(c1rhoi/(1+c1rhoi))*exp(c1id)^(1/(1+c1rhoi))+(c1omegami*exp(c1omegaim))^(c1rhoi/(1+c1rhoi))*(exp(c1mi))^(1/(1+c1rhoi)))^(1+c1rhoi);

// fonc domestic investment
exp(c1rpipd)*(c1omegai*exp(c1i)/exp(c1id))^(c1rhoi/(1+c1rhoi)) = 1;

// fonc imported investment
exp(c1rpmipd) = exp(c1rpipd)*(c1omegami*exp(c1omegaim)*exp(c1i)/exp(c1mi))^(c1rhoi/(1+c1rhoi));

// value added
exp(c1v) = ((c1omegak)^(c1rhov/(1+c1rhov))*(exp(c1k(-1))/c1grmuzss)^(1/(1+c1rhov))
+(c1omegal)^(c1rhov/(1+c1rhov))*(exp(c1z)*exp(c1l))^(1/(1+c1rhov)))^(1+c1rhov);

// gross output
exp(c1y) = ((c1omegavy)^(c1rhoo/(1+c1rhoo))*(exp(c1v))^(1/(1+c1rhoo))+(c1omegaoy)^(c1rhoo/(1+c1rhoo))*(exp(c1muo)*exp(c1oy))^(1/(1+c1rhoo)))^(1+c1rhoo);

// gross output
(exp(c2y)) = ((c2omegavy)^(c2rhoo/(1+c2rhoo))*((exp(c2v)))^(1/(1+c2rhoo))+(c2omegaoy)^(c2rhoo/(1
+c2rhoo))*((exp(c2muo))*(exp(c2oy)))^(1/(1+c2rhoo)))^(1+c2rhoo);//20

// fonc capital in production
exp(c1rk) = exp(c1rmcpd)*(c1omegavy*exp(c1y)/exp(c1v))^(c1rhoo/(1+c1rhoo))*(c1omegak*exp(c1v)*c1grmuzss/exp(c1k(-1)))^(c1rhov/(1+c1rhov));

// fonc labor in production 
exp(c1w)/exp(c1z) = exp(c1rmcpd)*(c1omegavy*exp(c1y)/exp(c1v))^(c1rhoo/(1+c1rhoo))*(c1omegal*exp(c1v)/exp(c1z)/exp(c1l))^(c1rhov/(1+c1rhov));

// fonc oil in production 
exp(c1rpopd) = exp(c1rmcpd)*(c1omegaoy*exp(c1y)/exp(c1muo)/exp(c1oy))^(c1rhoo/(1+c1rhoo))*exp(c1muo);

// resource constraint goods
exp(c1yd) = exp(c1cd)+exp(c1id)+exp(c1g)+exp(c1x);

// resource constraint oil 
exp(c1o) = exp(c1oc) + exp(c1oy);

// real interest rate
1/(1+(c1rrs)) = c1beta/c1grmuzss*exp(c1lambdaq(+1))/exp(c1lambdaq);

//1/(1+(c1rs)) = c1beta/c1grmuzss*(exp(c1lambdaq(+1)))/(exp(c1lambdaq))/(1+(c1dpd(+1)));

// imports
exp(c1m) = exp(c1rpmcpd)*exp(c1mc)+exp(c1rpmipd)*exp(c1mi);

// trade balance
(c1tbal) = (exp(c1x)-exp(c1m)+exp(c1rpwopd)*(c1shareyoy*c1yss*exp(c1yo)-exp(c1ow)))/exp(c1yd);

// goods trade balance
(c1gtbal) = (exp(c1x)-exp(c1m))/exp(c1yd);//30

// government spending
exp(c1g) = c1sharegy*exp(c1yd)*exp(c1shockgy);

// oil inventory equations (old version)
//(exp(c1o)) = (exp(c1op))^c1alphaop*(exp(c1os(-1))/c1grmuoss)^(1-c1alphaop);
//(exp(c1os)) = (1-c1deltao)/c1grmuoss * exp(c1os(-1)) + (exp(c1oi));
//(exp(c1ow)) = (exp(c1op)) + (exp(c1oi));
//(exp(c1rpwopd)) = (exp(c1rpopd))*c1alphaop*(exp(c1o))/(exp(c1op));
//(exp(c1rpwopd)) = c1beta/c1grmuzss*c1grmuzoss*(exp(c1lambdaq(+1))/exp(c1lambdaq))*(exp(c1rpopd(+1))*(1-c1alphaop)*c1grmuoss*exp(c1o(+1))/(exp(c1os))+ exp(c1rpwopd(+1))*(1-c1deltao));


// exogenous variables

c1shockgy = c1rhogy*c1shockgy(-1) + c1scaleshockgyerr*c1shockgyerr;

c1zc = (1+c1rhozc1-c1rhozc2)*c1zc(-1) - c1rhozc1*c1zclag(-1) + c1scalezcerr*c1zcerr;

exp(c1zclag) = exp(c1zc(-1));

c1zi = c1rhozi*c1zi(-1) + c1scalezierr*c1zierr;//40

c1yo = (1+c1rhoyo1-c1rhoyo2)*c1yo(-1) - c1rhoyo1*c1lagyo(-1) + c1scaleyoerr*c1yoerr;

exp(c1lagyo) = exp(c1yo(-1));

c1dyo = c1yo - c1yo(-1);

c1muoc = (1+c1rhomuoc1-c1rhomuoc2)*c1muoc(-1) - c1rhomuoc1*c1lagmuoc(-1)+ c1scalemuocerr*c1muocerr;

exp(c1lagmuoc) = exp(c1muoc(-1));

c1muc = c1rhomuc * c1muc(-1)+ c1scalemucerr*0.01*c1mucerr;

c1omegacm = (1+c1rhoomegacm1-c1rhoomegacm2)*c1omegacm(-1) - c1rhoomegacm1*c1lagomegacm(-1)+ c1scaleomegacmerr*c1omegacmerr;

exp(c1lagomegacm) = exp(c1omegacm(-1));

exp(c1omegaim) = exp(c1omegacm);

c1thetapvar = c1rhothetapvar*c1thetapvar(-1)+c1scalethetapvarerr*c1thetapvarerr;//50

c1thetawvar = c1rhothetawvar*c1thetawvar(-1)+c1scalethetawvarerr*c1thetawvarerr;


//////////////////////////////////
// Foreign country bloc 
//////////////////////////////////

// fonc consumption
(exp(c2muc)*exp(c2c)-c2vkappa/c2grmuzss*exp(c2c(-1)))^(-1) = exp(c2lambdaq)*exp(c2rpcpd);

// fonc labor 
exp(c2wdes) = c2chi0*(1-exp(c2l))^(-c2chi)/exp(c2lambdaq);

// fonc investment
1- exp(c2q)*exp(c2zi)*(1-c2psii/2*(exp(c2i)/exp(c2i(-1))*c2grmuzss-c2grmuzss)^2)
+exp(c2q)*exp(c2zi)*exp(c2i)*c2psii*(exp(c2i)/exp(c2i(-1))*c2grmuzss
-c2grmuzss)/exp(c2i(-1))*c2grmuzss-c2beta*exp(c2rpipd(+1))/exp(c2rpipd)*exp(c2lambdaq(+1))/exp(c2lambdaq)                                
*exp(c2q(+1))*exp(c2zi(+1))*exp(c2i(+1))*c2psii*(exp(c2i(+1))/exp(c2i)*c2grmuzss
-c2grmuzss)*exp(c2i(+1))/exp(c2i)^2*c2grmuzss = 0;

// fonc capital
exp(c2q) = c2beta/c2grmuzss/exp(c2rpipd)*exp(c2lambdaq(+1))/exp(c2lambdaq)*exp(c2rk(+1))+(1
-c2delta)*c2beta/c2grmuzss*exp(c2q(+1))*exp(c2rpipd(+1))/exp(c2rpipd)*exp(c2lambdaq(+1))/exp(c2lambdaq);

// capital accumultion
(exp(c2k))  = (1-c2delta)/c2grmuzss*(exp(c2k(-1)))+(exp(c2zi))*(exp(c2i))*(1-c2psii/2*((exp(c2i))/(exp(c2i(-1)))*c2grmuzss-c2grmuzss)^2);

// nonoil consumption
(exp(c2cne)) = ((c2omegac)^(c2rhoc/(1+c2rhoc))*(exp(c2cd))^(1/(1+c2rhoc))
+(c2omegamc*(exp(c2omegacm)))^(c2rhoc/(1+c2rhoc))*((exp(c2mc)))^(1/(1+c2rhoc)))^(1+c2rhoc);

// fonc nonoil consumption
(exp(c2rpcpd))*(c2omegacc*(exp(c2c))/(exp(c2cne)))^(c2rhoo/(1+c2rhoo))*(c2omegac*(exp(c2cne))/(exp(c2cd)))^(c2rhoc/(1
+c2rhoc)) = 1;

// fonc imports
(exp(c2rpmcpd)) = (exp(c2rpcpd))*(c2omegacc*(exp(c2c))/(exp(c2cne)))^(c2rhoo/(1+c2rhoo))*(c2omegamc*(exp(c2omegacm))*(exp(c2cne))/(exp(c2mc)))^(c2rhoc/(1
+c2rhoc));

// fonc oil
(exp(c2rpopd)) = (exp(c2rpcpd)) *(c2omegaoc*(exp(c2c))/(exp(c2muo))/(exp(c2oc)))^(c2rhoo/(1+c2rhoo))*(exp(c2muo));//60

// investment
(exp(c2i)) = ((c2omegai)^(c2rhoi/(1+c2rhoi))*(exp(c2id))^(1/(1+c2rhoi))+(c2omegami*(exp(c2omegaim)))^(c2rhoi/(1
+c2rhoi))*((exp(c2mi)))^(1/(1+c2rhoi)))^(1+c2rhoi);

// fonc domestic investment
(exp(c2rpipd))*(c2omegai*(exp(c2i))/(exp(c2id)))^(c2rhoi/(1+c2rhoi)) = 1;

// fonc imported investment
(exp(c2rpmipd)) = (exp(c2rpipd))*(c2omegami*(exp(c2omegaim))*(exp(c2i))/(exp(c2mi)))^(c2rhoi/(1+c2rhoi));

// value added
(exp(c2v)) = ((c2omegak)^(c2rhov/(1+c2rhov))*((exp(c2k(-1)))/c2grmuzss)^(1/(1+c2rhov))
+(c2omegal)^(c2rhov/(1+c2rhov))*((exp(c2z))*(exp(c2l)))^(1/(1+c2rhov)))^(1+c2rhov);

// fonc capital in production 
(exp(c2rk)) = (exp(c2rmcpd))*(c2omegavy*(exp(c2y))/(exp(c2v)))^(c2rhoo/(1+c2rhoo))*(c2omegak*(exp(c2v))*c2grmuzss/(exp(c2k(-1))))^(c2rhov/(1
+c2rhov));

// fonc labor in production  
(exp(c2w))/(exp(c2z)) = (exp(c2rmcpd))*(c2omegavy*(exp(c2y))/(exp(c2v)))^(c2rhoo/(1+c2rhoo))*(c2omegal*(exp(c2v))/(exp(c2z))/(exp(c2l)))^(c2rhov/(1+c2rhov));

// fonc oil in production 
(exp(c2rpopd)) = (exp(c2rmcpd))*(c2omegaoy*(exp(c2y))/(exp(c2muo))/(exp(c2oy)))^(c2rhoo/(1+c2rhoo))*(exp(c2muo));

// resource constraint goods
(exp(c2yd)) = (exp(c2cd))+(exp(c2id))+(exp(c2g))+(exp(c2x));

// resource constraint oil 
(exp(c2o)) = (exp(c2oc)) + (exp(c2oy));

// real interest rate
1/(1+(c2rrs)) = c2beta/c2grmuzss*(exp(c2lambdaq(+1)))/(exp(c2lambdaq));//70

// imports
(exp(c2m)) = (exp(c2rpmcpd))*(exp(c2mc))+(exp(c2rpmipd))*(exp(c2mi));

// trade balance
(c2tbal) = ((exp(c2x))-(exp(c2m))+(exp(c2rpwopd))*(c2shareyoy*c2yss*(exp(c2yo))-(exp(c2ow))))/(exp(c2yd));

// goods trade balance
(c2gtbal) = ((exp(c2x))-(exp(c2m)))/(exp(c2yd));

// government spending
(exp(c2g)) = c2sharegy*(exp(c2yd))*(exp(c2shockgy));

// oil inventory equations (old version)
//(exp(c2o)) = (exp(c2op))^c2alphaop*(exp(c2os(-1))/c2grmuoss)^(1-c2alphaop);
//(exp(c2os)) = (1-c2deltao)/c2grmuoss * exp(c2os(-1)) + (exp(c2oi));
//(exp(c2ow)) = (exp(c2op)) + (exp(c2oi));
//(exp(c2rpwopd)) = (exp(c2rpopd))*c2alphaop*(exp(c2o))/(exp(c2op));
//(exp(c2rpwopd)) = c2beta/c2grmuzss*c2grmuzoss*(exp(c2lambdaq(+1))/exp(c2lambdaq))*(exp(c2rpopd(+1))*(1-c2alphaop)*c2grmuoss*exp(c2o(+1))/(exp(c2os))+ exp(c2rpwopd(+1))*(1-c2deltao));



// exogenous variables

c2shockgy = c2rhogy*c2shockgy(-1) + c2scaleshockgyerr*c2shockgyerr;//80

c2zc = (1+c2rhozc1-c2rhozc2)*c2zc(-1) - c2rhozc1*c2zclag(-1) + c2scalezcerr*c2zcerr;

exp(c2zclag) = exp(c2zc(-1));

c2zi = c2rhozi*c2zi(-1) + c2scalezierr*c2zierr;

c2yo = (1+c2rhoyo1-c2rhoyo2)*c2yo(-1) - c2rhoyo1*c2lagyo(-1) + c2scaleyoerr*c2yoerr;

exp(c2lagyo) = exp(c2yo(-1));

c2dyo = c2yo - c2yo(-1);

c2muoc = (1+c2rhomuoc1-c2rhomuoc2)*c2muoc(-1) - c2rhomuoc1*c2lagmuoc(-1)+ c2scalemuocerr*c2muocerr;

exp(c2lagmuoc) = exp(c2muoc(-1));

c2muc = c2rhomuc * c2muc(-1)+ c2scalemucerr*0.01*c2mucerr;

c2omegacm = (1+c2rhoomegacm1-c2rhoomegacm2)*c2omegacm(-1) - c2rhoomegacm1*c2lagomegacm(-1)+ c2scaleomegacmerr*c2omegacmerr;

exp(c2lagomegacm) = exp(c2omegacm(-1));

exp(c2omegaim) = exp(c2omegacm);

c2thetapvar = c2rhothetapvar*c2thetapvar(-1)+c2scalethetapvarerr*c2thetapvarerr;

c2thetawvar = c2rhothetawvar*c2thetawvar(-1)+c2scalethetawvarerr*c2thetawvarerr;


////////////////////////
// international links
////////////////////////

// risk sharing
(exp(c2lambdaq(+1)))/(exp(c2lambdaq))*(exp(c2rpcpd(+1)))/(exp(c2rpcpd)) = (exp(-c1phibparm*(c1b)))*(exp(c1rer(+1)))/(exp(c1rer))*(exp(c1lambdaq(+1)))/(exp(c1lambdaq))*(exp(c1rpcpd(+1)))/(exp(c1rpcpd));


// international oil market JP Production must be zero
c2shareyoy*c2yss*(exp(c2yo)) + c1shareyoy*c1yss*(exp(c1yo))*c1relc2  = (exp(c2ow)) + (exp(c1ow))*c1relc2;


// price of oil abroad
(exp(c1rpwopd)) = (exp(c1rer))*(exp(c1rpcpd))/(exp(c2rpcpd))*(exp(c2rpwopd));


// international asset positions
(exp(c1rer))/(exp(c1rer(+1)))*(exp(c1rpcpd))/(exp(c1rpcpd(+1)))*(exp(c2rpcpd(+1)))/(exp(c2rpcpd))*c2beta/c2grmuzss*(exp(c2lambdaq(+1)))/(exp(c2lambdaq))/(exp(
-c1phibparm*(c1b(-1))))*(exp(c1yd(+1)))/(exp(c1yd))*c1grmuzss*(c1b)  = (c1b(-1))+(c1tbal);

// producer currency pricing home
(exp(c1rpmcpd)) = (exp(c1rer))*(exp(c1rpcpd))/(exp(c2rpcpd));

// producer currency pricing forein
(exp(c2rpmcpd)) = 1/(exp(c1rer))*(exp(c2rpcpd))/(exp(c1rpcpd));

// import prices home 
(exp(c1rpmipd)) = (exp(c1rpmcpd));

// import prices foreign
(exp(c2rpmipd)) = (exp(c2rpmcpd));

// home exports
(exp(c1x))  = 1/c1relc2*(exp(c2mc)+exp(c2mi));

// foreign exports
(exp(c2x))  = c1relc2*(exp(c1mc)+exp(c1mi));


////////////////////////
// international shocks
////////////////////////

exp(c1z) = exp(c1zc)*exp(c1zw);

exp(c2z) = exp(c2zc)*exp(c1zw);

c1zw = (1+c1rhozw1-c1rhozw2)*c1zw(-1) - c1rhozw1*c1zwlag(-1) + c1scalezwerr*c1zwerr;

exp(c1zwlag) = exp(c1zw(-1));

exp(c1muo) = exp(c1muoc)*exp(c1muow);

exp(c2muo) = exp(c2muoc)*exp(c1muow);

c1muow = (1+c1rhomuow1-c1rhomuow2)*c1muow(-1) - c1rhomuow1*c1muowlag(-1)+ c1scalemuowerr*c1muowerr;

exp(c1muowlag) = exp(c1muow(-1));


//////////////////////////////////
// Home country bloc potential
//////////////////////////////////

// fonc consumption
((exp(c1muc))*(exp(c1c_pot))-c1vkappa/c1grmuzss*(exp(c1c_pot(-1))))^(-1) = (exp(c1lambdaq_pot))*(exp(c1rpcpd_pot));

// fonc labor
exp(c1wdes_pot) =  c1chi0*(1-exp(c1l_pot))^(-c1chi)/exp(c1lambdaq_pot);

// wages and marginal rate of substitution
exp(c1wdes_pot)/exp(c1w_pot) = (1+c1tauw)/(1+c1thetaw*(exp(c1thetawvar)));

// fonc investment
1- (exp(c1q_pot))*(exp(c1zi))*(1-c1psii/2*((exp(c1i_pot))/(exp(c1i_pot(-1)))*c1grmuzss-c1grmuzss)^2)
+(exp(c1q_pot))*(exp(c1zi))*(exp(c1i_pot))*c1psii*((exp(c1i_pot))/(exp(c1i_pot(-1)))*c1grmuzss-c1grmuzss)/(exp(c1i_pot(-1)))*c1grmuzss
-c1beta*(exp(c1rpipd_pot(+1)))/(exp(c1rpipd_pot))*(exp(c1lambdaq_pot(+1)))/(exp(c1lambdaq_pot))   
*(exp(c1q_pot(+1)))*(exp(c1zi(+1)))*(exp(c1i_pot(+1)))*c1psii*((exp(c1i_pot(+1)))/(exp(c1i_pot))*c1grmuzss
-c1grmuzss)*(exp(c1i_pot(+1)))/(exp(c1i_pot))^2*c1grmuzss = 0;

// fonc capital
(exp(c1q_pot)) = c1beta/c1grmuzss/(exp(c1rpipd_pot))*(exp(c1lambdaq_pot(+1)))/(exp(c1lambdaq_pot))*(exp(c1rk_pot(+1)))+(1
-c1delta)*c1beta/c1grmuzss*(exp(c1q_pot(+1)))*(exp(c1rpipd_pot(+1)))/(exp(c1rpipd_pot))*(exp(c1lambdaq_pot(+1)))/(exp(c1lambdaq_pot));

// capital accumultion
exp(c1k_pot)  = (1-c1delta)/c1grmuzss*exp(c1k_pot(-1))+exp(c1zi)*exp(c1i_pot)*(1-c1psii/2*(exp(c1i_pot)/exp(c1i_pot(-1))*c1grmuzss-c1grmuzss)^2);

// final consumption
exp(c1c_pot) = ((c1omegacc)^(c1rhoo/(1+c1rhoo))*exp(c1cne_pot)^(1/(1+c1rhoo))
+ (c1omegaoc)^(c1rhoo/(1+c1rhoo))*(exp(c1muo)*exp(c1oc_pot))^(1/(1+c1rhoo)))^(1+c1rhoo);

// nonoil consumption
exp(c1cne_pot) =  ((c1omegac)^(c1rhoc/(1+c1rhoc))*exp(c1cd_pot)^(1/(1+c1rhoc))+(c1omegamc*exp(c1omegacm))^(c1rhoc/(1+c1rhoc))*(exp(c1mc_pot))^(1/(1+c1rhoc)))^(1+c1rhoc);

// fonc nonoil consumption
exp(c1rpcpd_pot)*(c1omegacc*exp(c1c_pot)/exp(c1cne_pot))^(c1rhoo/(1+c1rhoo))*(c1omegac*exp(c1cne_pot)/exp(c1cd_pot))^(c1rhoc/(1+c1rhoc)) = 1;

// fonc imports
exp(c1rpmcpd_pot) = exp(c1rpcpd_pot)*(c1omegacc*exp(c1c_pot)/exp(c1cne_pot))^(c1rhoo/(1+c1rhoo))*(c1omegamc*exp(c1omegacm)*exp(c1cne_pot)/exp(c1mc_pot))^(c1rhoc/(1+c1rhoc));

// fonc oil
exp(c1rpopd_pot) = exp(c1rpcpd_pot) *(c1omegaoc*exp(c1c_pot)/exp(c1muo)/exp(c1oc_pot))^(c1rhoo/(1+c1rhoo))*exp(c1muo);

// investment
exp(c1i_pot) = ((c1omegai)^(c1rhoi/(1+c1rhoi))*exp(c1id_pot)^(1/(1+c1rhoi))+(c1omegami*exp(c1omegaim))^(c1rhoi/(1+c1rhoi))*(exp(c1mi_pot))^(1/(1+c1rhoi)))^(1+c1rhoi);

// fonc domestic investment
exp(c1rpipd_pot)*(c1omegai*exp(c1i_pot)/exp(c1id_pot))^(c1rhoi/(1+c1rhoi)) = 1;

// fonc imported investment
exp(c1rpmipd_pot) = exp(c1rpipd_pot)*(c1omegami*exp(c1omegaim)*exp(c1i_pot)/exp(c1mi_pot))^(c1rhoi/(1+c1rhoi));

// value added
exp(c1v_pot) = ((c1omegak)^(c1rhov/(1+c1rhov))*(exp(c1k_pot(-1))/c1grmuzss)^(1/(1+c1rhov))
+(c1omegal)^(c1rhov/(1+c1rhov))*(exp(c1z)*exp(c1l_pot))^(1/(1+c1rhov)))^(1+c1rhov);

// gross output
exp(c1y_pot) = ((c1omegavy)^(c1rhoo/(1+c1rhoo))*(exp(c1v_pot))^(1/(1+c1rhoo))+(c1omegaoy)^(c1rhoo/(1+c1rhoo))*(exp(c1muo)*exp(c1oy_pot))^(1/(1+c1rhoo)))^(1+c1rhoo);

// fonc capital in production
exp(c1rk_pot) = exp(c1rmcpd_pot)*(c1omegavy*exp(c1y_pot)/exp(c1v_pot))^(c1rhoo/(1+c1rhoo))*(c1omegak*exp(c1v_pot)*c1grmuzss/exp(c1k_pot(-1)))^(c1rhov/(1+c1rhov));

// fonc labor in production 
exp(c1w_pot)/exp(c1z) = exp(c1rmcpd_pot)*(c1omegavy*exp(c1y_pot)/exp(c1v_pot))^(c1rhoo/(1+c1rhoo))*(c1omegal*exp(c1v_pot)/exp(c1z)/exp(c1l_pot))^(c1rhov/(1+c1rhov));

// fonc oil in production 
exp(c1rpopd_pot) = exp(c1rmcpd_pot)*(c1omegaoy*exp(c1y_pot)/exp(c1muo)/exp(c1oy_pot))^(c1rhoo/(1+c1rhoo))*exp(c1muo);

// marginal costs
exp(c1rmcpd_pot) = (1+c1taup)/(1+c1thetap*exp(c1thetapvar));

// absence of price dispersion
exp(c1y_pot) = exp(c1yd_pot);

// resource constraint goods
exp(c1yd_pot) = exp(c1cd_pot)+exp(c1id_pot)+exp(c1g_pot)+exp(c1x_pot);

// resource constraint oil 
exp(c1o_pot) = exp(c1oc_pot) + exp(c1oy_pot);

// real interest rate
1/(1+c1rrs_pot) = c1beta/c1grmuzss*exp(c1lambdaq_pot(+1))/exp(c1lambdaq_pot);

// imports
exp(c1m_pot) = exp(c1rpmcpd_pot)*exp(c1mc_pot)+exp(c1rpmipd_pot)*exp(c1mi_pot);

// trade balance
c1tbal_pot = (exp(c1x_pot)-exp(c1m_pot)+exp(c1rpwopd_pot)*(c1shareyoy*c1yss*exp(c1yo)-exp(c1ow_pot)))/exp(c1yd_pot);

// government spending
exp(c1g_pot) = c1sharegy*exp(c1yd_pot)*exp(c1shockgy);

// oil inventory equations (old version)
(exp(c1o_pot)) = (exp(c1op_pot))^c1alphaop*(exp(c1os_pot(-1))/c1grmuoss)^(1-c1alphaop);
(exp(c1os_pot)) = (1-c1deltao)/c1grmuoss * exp(c1os_pot(-1)) + (exp(c1oi_pot));
(exp(c1ow_pot)) = (exp(c1op_pot)) + (exp(c1oi_pot));
(exp(c1rpwopd_pot)) = (exp(c1rpopd_pot))*c1alphaop*(exp(c1o_pot))/(exp(c1op_pot));
(exp(c1rpwopd_pot)) = c1beta/c1grmuzss*c1grmuzoss*(exp(c1lambdaq_pot(+1))/exp(c1lambdaq_pot))*(exp(c1rpopd_pot(+1))*(1-c1alphaop)*c1grmuoss*exp(c1o_pot(+1))/(exp(c1os_pot))+ exp(c1rpwopd_pot(+1))*(1-c1deltao));
//(exp(c1rpwopd_pot)) = c1beta/c1grmuzss*c1grmuzoss*(exp(c1lambdaq_pot)/exp(c1lambdaq_pot(-1)))*(exp(c1rpopd_pot)*(1-c1alphaop)*c1grmuoss*exp(c1o)/(exp(c1os_pot))+ exp(c1rpwopd_pot)*(1-c1deltao));


//////////////////////////////////
// Foreign country bloc potential
//////////////////////////////////

// fonc consumption
((exp(c2muc))*(exp(c2c_pot))-c2vkappa/c2grmuzss*(exp(c2c_pot(-1))))^(-1) = (exp(c2lambdaq_pot))*(exp(c2rpcpd_pot));

// fonc labor 
exp(c2wdes_pot) =  c2chi0*(1-exp(c2l_pot))^(-c2chi)/exp(c2lambdaq_pot);

// wages and marginal rate of substitution
exp(c2wdes_pot)/exp(c2w_pot) = (1+c2tauw)/(1+c2thetaw*(exp(c2thetawvar)));

// fonc investment
1- (exp(c2q_pot))*(exp(c2zi))*(1-c2psii/2*((exp(c2i_pot))/(exp(c2i_pot(-1)))*c2grmuzss-c2grmuzss)^2)
+(exp(c2q_pot))*(exp(c2zi))*(exp(c2i_pot))*c2psii*((exp(c2i_pot))/(exp(c2i_pot(-1)))*c2grmuzss
-c2grmuzss)/(exp(c2i_pot(-1)))*c2grmuzss-c2beta*(exp(c2rpipd_pot(+1)))/(exp(c2rpipd_pot))*(exp(c2lambdaq_pot(+1)))/(exp(c2lambdaq_pot))   
*(exp(c2q_pot(+1)))*(exp(c2zi(+1)))*(exp(c2i_pot(+1)))*c2psii*((exp(c2i_pot(+1)))/(exp(c2i_pot))*c2grmuzss
-c2grmuzss)*(exp(c2i_pot(+1)))/(exp(c2i_pot))^2*c2grmuzss = 0;

// fonc capital
(exp(c2q_pot)) = c2beta/c2grmuzss/(exp(c2rpipd_pot))*(exp(c2lambdaq_pot(+1)))/(exp(c2lambdaq_pot))*(exp(c2rk_pot(+1)))+(1
-c2delta)*c2beta/c2grmuzss*(exp(c2q_pot(+1)))*(exp(c2rpipd_pot(+1)))/(exp(c2rpipd_pot))*(exp(c2lambdaq_pot(+1)))/(exp(c2lambdaq_pot));

// capital accumultion
exp(c2k_pot)  = (1-c2delta)/c2grmuzss*exp(c2k_pot(-1))+exp(c2zi)*exp(c2i_pot)*(1-c2psii/2*(exp(c2i_pot)/exp(c2i_pot(-1))*c2grmuzss-c2grmuzss)^2);

// final consumption
exp(c2c_pot) = ((c2omegacc)^(c2rhoo/(1+c2rhoo))*exp(c2cne_pot)^(1/(1+c2rhoo))
+ (c2omegaoc)^(c2rhoo/(1+c2rhoo))*(exp(c2muo)*exp(c2oc_pot))^(1/(1+c2rhoo)))^(1+c2rhoo);

// nonoil consumption
exp(c2cne_pot) =  ((c2omegac)^(c2rhoc/(1+c2rhoc))*exp(c2cd_pot)^(1/(1+c2rhoc))+(c2omegamc*exp(c2omegacm))^(c2rhoc/(1+c2rhoc))*(exp(c2mc_pot))^(1/(1+c2rhoc)))^(1+c2rhoc);

// fonc nonoil consumption
exp(c2rpcpd_pot)*(c2omegacc*exp(c2c_pot)/exp(c2cne_pot))^(c2rhoo/(1+c2rhoo))*(c2omegac*exp(c2cne_pot)/exp(c2cd_pot))^(c2rhoc/(1+c2rhoc)) = 1;

// fonc imports
exp(c2rpmcpd_pot) = exp(c2rpcpd_pot)*(c2omegacc*exp(c2c_pot)/exp(c2cne_pot))^(c2rhoo/(1+c2rhoo))*(c2omegamc*exp(c2omegacm)*exp(c2cne_pot)/exp(c2mc_pot))^(c2rhoc/(1+c2rhoc));

// fonc oil
exp(c2rpopd_pot) = exp(c2rpcpd_pot) *(c2omegaoc*exp(c2c_pot)/exp(c2muo)/exp(c2oc_pot))^(c2rhoo/(1+c2rhoo))*exp(c2muo);

// investment
exp(c2i_pot) = ((c2omegai)^(c2rhoi/(1+c2rhoi))*exp(c2id_pot)^(1/(1+c2rhoi))+(c2omegami*exp(c2omegaim))^(c2rhoi/(1+c2rhoi))*(exp(c2mi_pot))^(1/(1+c2rhoi)))^(1+c2rhoi);

// fonc domestic investment
exp(c2rpipd_pot)*(c2omegai*exp(c2i_pot)/exp(c2id_pot))^(c2rhoi/(1+c2rhoi)) = 1;

// fonc imported investment
exp(c2rpmipd_pot) = exp(c2rpipd_pot)*(c2omegami*exp(c2omegaim)*exp(c2i_pot)/exp(c2mi_pot))^(c2rhoi/(1+c2rhoi));

// value added
exp(c2v_pot) = ((c2omegak)^(c2rhov/(1+c2rhov))*(exp(c2k_pot(-1))/c2grmuzss)^(1/(1+c2rhov))
+(c2omegal)^(c2rhov/(1+c2rhov))*(exp(c2z)*exp(c2l_pot))^(1/(1+c2rhov)))^(1+c2rhov);

// gross output
exp(c2y_pot) = ((c2omegavy)^(c2rhoo/(1+c2rhoo))*(exp(c2v_pot))^(1/(1+c2rhoo))+(c2omegaoy)^(c2rhoo/(1+c2rhoo))*(exp(c2muo)*exp(c2oy_pot))^(1/(1+c2rhoo)))^(1+c2rhoo);

// fonc capital in production
exp(c2rk_pot) = exp(c2rmcpd_pot)*(c2omegavy*exp(c2y_pot)/exp(c2v_pot))^(c2rhoo/(1+c2rhoo))*(c2omegak*exp(c2v_pot)*c2grmuzss/exp(c2k_pot(-1)))^(c2rhov/(1+c2rhov));

// fonc labor in production 
exp(c2w_pot)/exp(c2z) = exp(c2rmcpd_pot)*(c2omegavy*exp(c2y_pot)/exp(c2v_pot))^(c2rhoo/(1+c2rhoo))*(c2omegal*exp(c2v_pot)/exp(c2z)/exp(c2l_pot))^(c2rhov/(1+c2rhov));

// fonc oil in production 
exp(c2rpopd_pot) = exp(c2rmcpd_pot)*(c2omegaoy*exp(c2y_pot)/exp(c2muo)/exp(c2oy_pot))^(c2rhoo/(1+c2rhoo))*exp(c2muo);

// marginal costs
exp(c2rmcpd_pot) = (1+c2taup)/(1+c2thetap*exp(c2thetapvar));

// absence of price dispersion
exp(c2y_pot) = exp(c2yd_pot);

// resource constraint goods
exp(c2yd_pot) = exp(c2cd_pot)+exp(c2id_pot)+exp(c2g_pot)+exp(c2x_pot);

// resource constraint oil 
exp(c2o_pot) = exp(c2oc_pot) + exp(c2oy_pot);

// real interest rate
1/(1+c2rrs_pot) = c2beta/c2grmuzss*exp(c2lambdaq_pot(+1))/exp(c2lambdaq_pot);

// imports
exp(c2m_pot) = exp(c2rpmcpd_pot)*exp(c2mc_pot)+exp(c2rpmipd_pot)*exp(c2mi_pot);

// trade balance
c2tbal_pot = (exp(c2x_pot)-exp(c2m_pot)+exp(c2rpwopd_pot)*(c2shareyoy*c2yss*exp(c2yo)-exp(c2ow_pot)))/exp(c2yd_pot);

// government spending
exp(c2g_pot) = c2sharegy*exp(c2yd_pot)*exp(c2shockgy);

// oil inventory equations (old version)
(exp(c2o_pot)) = (exp(c2op_pot))^c2alphaop*(exp(c2os_pot(-1))/c2grmuoss)^(1-c2alphaop);
(exp(c2os_pot)) = (1-c2deltao)/c2grmuoss * exp(c2os_pot(-1)) + (exp(c2oi_pot));
(exp(c2ow_pot)) = (exp(c2op_pot)) + (exp(c2oi_pot));
(exp(c2rpwopd_pot)) = (exp(c2rpopd_pot))*c2alphaop*(exp(c2o_pot))/(exp(c2op_pot));
(exp(c2rpwopd_pot)) = c2beta/c2grmuzss*c2grmuzoss*(exp(c2lambdaq_pot(+1))/exp(c2lambdaq_pot))*(exp(c2rpopd_pot(+1))*(1-c2alphaop)*c2grmuoss*exp(c2o_pot(+1))/(exp(c2os_pot))+ exp(c2rpwopd_pot(+1))*(1-c2deltao));
//(exp(c2rpwopd_pot)) = c2beta/c2grmuzss*c2grmuzoss*(exp(c2lambdaq_pot)/exp(c2lambdaq_pot(-1)))*(exp(c2rpopd_pot)*(1-c2alphaop)*c2grmuoss*exp(c2o)/(exp(c2os_pot))+ exp(c2rpwopd_pot)*(1-c2deltao));

////////////////////////
// international links
////////////////////////

// risk sharing
exp(c2lambdaq_pot(+1))/exp(c2lambdaq_pot)*exp(c2rpcpd_pot(+1))/exp(c2rpcpd_pot) =
(exp(-c1phibparm*c1b_pot))*exp(c1rer_pot(+1))/exp(c1rer_pot)*exp(c1lambdaq_pot(+1))/exp(c1lambdaq_pot)*exp(c1rpcpd_pot(+1))/exp(c1rpcpd_pot);

// international oil market
c2shareyoy*c2yss*exp(c2yo)+c1shareyoy*c1yss*exp(c1yo)*c1relc2  = exp(c2ow_pot) + exp(c1ow_pot)*c1relc2;

// price of oil abroad
exp(c1rpwopd_pot) = exp(c1rer_pot)*exp(c1rpcpd_pot)/exp(c2rpcpd_pot)*exp(c2rpwopd_pot);

// international asset positions
exp(c1rer_pot)/exp(c1rer_pot(+1))*exp(c1rpcpd_pot)/exp(c1rpcpd_pot(+1))*exp(c2rpcpd_pot(+1))/exp(c2rpcpd_pot)*c2beta/c2grmuzss
*exp(c2lambdaq_pot(+1))/exp(c2lambdaq_pot)/(exp(-c1phibparm*c1b_pot(-1)))*exp(c1y_pot(+1))/exp(c1yd_pot)*c1grmuzss*c1b_pot = c1b_pot(-1)+c1tbal_pot;

// producer currency pricing home
exp(c1rpmcpd_pot) = exp(c1rer_pot)*exp(c1rpcpd_pot)/exp(c2rpcpd_pot);

// producer currency pricing forein
exp(c2rpmcpd_pot) = 1/exp(c1rer_pot)*exp(c2rpcpd_pot)/exp(c1rpcpd_pot);

// import prices home 
exp(c1rpmipd_pot) = exp(c1rpmcpd_pot);

// import prices foreign
exp(c2rpmipd_pot) = exp(c2rpmcpd_pot);

// home exports
exp(c1x_pot)  = 1/c1relc2*(exp(c2mc_pot)+exp(c2mi_pot));

// foreign exports
exp(c2x_pot)  = c1relc2*(exp(c1mc_pot)+exp(c1mi_pot));


////////////////////////
// nominal rigidities
////////////////////////

//////////////////
// sticky prices
//////////////////

// definition of hp
(exp(c1hp)) = (1+(c1thetap*(exp(c1thetapvar))))/(c1thetap*(exp(c1thetapvar)))*(exp(c1rmcpd))*(exp(c1yd))
+ c1xip*c1beta*(exp(c1lambdaq(+1)))/(exp(c1lambdaq))*((c1pidbar)/(c1pid(+1)))^(-(1
+(c1thetap*(exp(c1thetapvar(+1)))))/(c1thetap*(exp(c1thetapvar(+1)))))*(exp(c1hp(+1)));

// definition of gp     
(exp(c1gp)) = (1+c1taup)/(c1thetap*(exp(c1thetapvar)))*(exp(c1yd))+c1xip*c1beta*(exp(c1lambdaq(+1)))/(exp(c1lambdaq))*((c1pidbar)/(c1pid(+1)))^(1
-(1+(c1thetap*(exp(c1thetapvar(+1)))))/(c1thetap*(exp(c1thetapvar(+1)))))*(exp(c1gp(+1)));

// definition of pstar
(exp(c1pstar)) = (exp(c1hp))/(exp(c1gp));

// price evolution
(1-c1xip)*((exp(c1pstar)))^(-1/(c1thetap*(exp(c1thetapvar))))+c1xip*((c1pidbar(-1))/(c1pid))^(
-1/(c1thetap*(exp(c1thetapvar)))) = 1;

// price indexation
(c1pidbar) = ((c1pid))^c1iotap*(c1pistar)^(1-c1iotap);

// price dispersion
(exp(c1y)) = (exp(c1deltad))*(exp(c1yd));

// evolution of price dispersion
(exp(c1deltad)) = (1-c1xip)*((exp(c1pstar)))^(-(1+(c1thetap*(exp(c1thetapvar))))/(c1thetap*(exp(c1thetapvar))))
+c1xip*((c1pidbar(-1))/(c1pid))^(-(1+(c1thetap*(exp(c1thetapvar))))/(c1thetap*(exp(c1thetapvar))))*(exp(c1deltad(-1)));

// price inflation definition
log((c1pid)) = log(c1pistar) + (c1dpd); // c1pid gross inflation, c1pistar gross stady state inflation

// definition of hp
(exp(c2hp)) = (1+(c2thetap*(exp(c2thetapvar))))/(c2thetap*(exp(c2thetapvar)))*(exp(c2rmcpd))*(exp(c2yd))
+ c2xip*c2beta*(exp(c2lambdaq(+1)))/(exp(c2lambdaq))*((c2pidbar)/(c2pid(+1)))^(-(1
+(c2thetap*(exp(c2thetapvar(+1)))))/(c2thetap*(exp(c2thetapvar(+1)))))*(exp(c2hp(+1)));

// definition of gp
(exp(c2gp)) = (1+c2taup)/(c2thetap*(exp(c2thetapvar)))*(exp(c2yd))+c2xip*c2beta*(exp(c2lambdaq(+1)))/(exp(c2lambdaq))*((c2pidbar)/(c2pid(+1)))^(1
-(1+(c2thetap*(exp(c2thetapvar(+1)))))/(c2thetap*(exp(c2thetapvar(+1)))))*(exp(c2gp(+1)));

// definition of pstar
(exp(c2pstar)) = (exp(c2hp))/(exp(c2gp));

// price evolution
(1-c2xip)*((exp(c2pstar)))^(-1/(c2thetap*(exp(c2thetapvar))))+c2xip*((c2pidbar(-1))/(c2pid))^(-1/(c2thetap*(exp(c2thetapvar)))) = 1;

// price indexation
(c2pidbar) = ((c2pid))^c2iotap*(c2pistar)^(1-c2iotap);

// price dispersion
(exp(c2y)) = (exp(c2deltad))*(exp(c2yd));

// evolution of price dispersion
(exp(c2deltad)) = (1-c2xip)*((exp(c2pstar)))^(-(1+(c2thetap*(exp(c2thetapvar))))/(c2thetap*(exp(c2thetapvar))))
+c2xip*((c2pidbar(-1))/(c2pid))^(-(1+(c2thetap*(exp(c2thetapvar))))/(c2thetap*(exp(c2thetapvar))))*(exp(c2deltad(-1)));

// price inflation definition
log((c2pid)) = log(c2pistar) + (c2dpd);


//////////////////
// sticky wages
//////////////////

// definition of hw
(exp(c1hw)) = (1+(c1thetaw*(exp(c1thetawvar))))/(c1thetaw*(exp(c1thetawvar)))*(exp(c1wdes))/(exp(c1w))*(exp(c1l))
+ c1xiw*c1beta/c1grmuzss*(exp(c1lambdaq(+1)))/(exp(c1lambdaq))/(c1pid(+1))*(c1omega(+1))*((c1omegabar)/(c1omega(+1)))^(
-(1+(c1thetaw*(exp(c1thetawvar(+1)))))/(c1thetaw*(exp(c1thetawvar(+1)))))*(exp(c1hw(+1)));

// definition of gw
(exp(c1gw)) = (1+c1tauw)/(c1thetaw*(exp(c1thetawvar)))*(exp(c1l)) + c1xiw*c1beta/c1grmuzss*(exp(c1lambdaq(+1)))/(exp(c1lambdaq))/(c1pid(+1))*(c1omega(+1))*((c1omegabar)/(c1omega(+1)))^(1
-(1+(c1thetaw*(exp(c1thetawvar(+1)))))/(c1thetaw*(exp(c1thetawvar(+1)))))*(exp(c1gw(+1)));

// definition of wstar
(exp(c1wstar))/(exp(c1w)) = (exp(c1hw))/(exp(c1gw));

// wage evolution
(1-c1xiw)*((exp(c1wstar))/(exp(c1w)))^(-1/(c1thetaw*(exp(c1thetawvar))))+c1xiw*((c1omegabar(-1))/(c1omega))^(-1/(c1thetaw*(exp(c1thetawvar)))) = 1;

// wage indexation
(c1omegabar) = (c1omega)^c1iotaw*(c1pistar*c1grmuzss)^(1-c1iotaw);

// wage inflation definition
(c1omega) = (exp(c1w))/(exp(c1w(-1)))*c1grmuzss*(c1pid); // c1pid is the gross inflation , c1grmuzss is the gross growth rate technology , c1omega is the gross wage inflation

// definition of hw
(exp(c2hw)) = (1+(c2thetaw*(exp(c2thetawvar))))/(c2thetaw*(exp(c2thetawvar)))*(exp(c2wdes))/(exp(c2w))*(exp(c2l))
+ c2xiw*c2beta/c2grmuzss*(exp(c2lambdaq(+1)))/(exp(c2lambdaq))/(c2pid(+1))*(c2omega(+1))*((c2omegabar)/(c2omega(+1)))^(
-(1+(c2thetaw*(exp(c2thetawvar(+1)))))/(c2thetaw*(exp(c2thetawvar(+1)))))*(exp(c2hw(+1)));

// definition of gw
(exp(c2gw)) = (1+c2tauw)/(c2thetaw*(exp(c2thetawvar)))*(exp(c2l)) + c2xiw*c2beta/c2grmuzss*(exp(c2lambdaq(+1)))/(exp(c2lambdaq))/(c2pid(+1))*(c2omega(+1))*((c2omegabar)/(c2omega(+1)))^(1
-(1+(c2thetaw*(exp(c2thetawvar(+1)))))/(c2thetaw*(exp(c2thetawvar(+1)))))*(exp(c2gw(+1)));

// definition of wstar
(exp(c2wstar))/(exp(c2w)) = (exp(c2hw))/(exp(c2gw));

// wage evolution
(1-c2xiw)*((exp(c2wstar))/(exp(c2w)))^(-1/(c2thetaw*(exp(c2thetawvar))))+c2xiw*((c2omegabar(-1))/(c2omega))^(
-1/(c2thetaw*(exp(c2thetawvar)))) = 1;

// wage indexation
(c2omegabar) = (c2omega)^c2iotaw*(c2pistar*c2grmuzss)^(1-c2iotaw);

// wage inflation definition
(c2omega) = (exp(c2w))/(exp(c2w(-1)))*c2grmuzss*(c2pid);

////////////////////
// monetary policy
////////////////////

//(1+(c1rs))/(1+c1rsss) = ((1+(c1rs(-1)))/(1+c1rsss))^c1gamrs*(
//((1+(c1dcore))/(1+log(c1pistar)))*((1+(c1dcore))/(1+log(c1pistar)+(c1pitar)))^c1gamdpc
//*(exp(c1yd)/exp(c1yd_pot))^c1gamgdpgap)^(1-c1gamrs);

//(1+(c1rs))/(1+c1rsss) = ((1+(c1rs(-1)))/(1+c1rsss))^c1gamrs*(
//((1+(c1dcore))/(1+log(c1pistar)))*((1+(c1dcore))/(1+log(c1pistar)+(1+log(c1pistar))*(c1pitar)))^c1gamdpc
//*(exp(c1yd)/exp(c1yd_pot))^c1gamgdpgap
//*((1+c1dpwo)/(1+log(c1pistar)+log(c1grmuzoss)))^c1gamdpwo
//)^(1-c1gamrs);

(1+(c1rs))/(1+c1rsss) = ((1+(c1rs(-1)))/(1+c1rsss))^c1gamrs*(
((1+(c1dcore))/(1+log(c1pistar)))*((1+(c1dcore))/(1+log(c1pistar)))^c1gamdpc
*(exp(c1yd)/exp(c1yd_pot))^c1gamgdpgap
*((1+c1dpwo)/(1+log(c1pistar)+log(c1grmuzoss)))^c1gamdpwo
*((1+log(c1omega))/(1+log(c1pistar)+log(c1grmuzss)))^c1gamomega
)^(1-c1gamrs)*((1/(1+c1pitar))^c1gamdpc2)^(1-c1gamrs2);

c1ygap = exp(c1yd)/exp(c1yd_pot);

//(c1rrs-c1rrsss) = (c1rs-c1rsss)-(c1dpd(+1)-c1dpdss);
1/(1+(c1rs)) = c1beta/c1grmuzss*(exp(c1lambdaq(+1)))/(exp(c1lambdaq))/(1+(c1dpd(+1)));// net quarterly interest rates 

(exp(c1rpnepd)) = (exp(c1rpcpd))*(c1omegacc*(exp(c1c))/(exp(c1cne)))^(c1rhoo/(1+c1rhoo));

(c1dcore) = log(exp(c1rpnepd)/exp(c1rpnepd(-1))*(c1pid));//net growth iflation

(c1dhead) = log(exp(c1rpcpd)/exp(c1rpcpd(-1))*(c1pid));

c1dpwo = log(exp(c1rpwopd)/exp(c1rpwopd(-1))*(c1pid))+log(c1grmuzoss);

(c1pitar) = c1rhopitar * (c1pitar(-1)) + c1scalepitarerr*c1pitarerr;

(c2pitar) = c2rhopitar * (c2pitar(-1)) + c2scalepitarerr*c2pitarerr;

//(1+(c2rs))/(1+c2rsss) = ((1+(c2rs(-1)))/(1+c2rsss))^c2gamrs*(((1+(c2dcore))/(1
//+log(c2pistar)))*((1+(c2dcore))/(1+log(c2pistar)+(c2pitar)))^c2gamdpc*(exp(c2yd)/exp(c2yd_pot))^c2gamgdpgap)^(1-c2gamrs);

(1+(c2rs))/(1+c2rsss) = ((1+(c2rs(-1)))/(1+c2rsss))^c2gamrs*(((1+(c2dcore))/(1
+log(c2pistar)))*((1+(c2dcore))/(1+log(c2pistar)+(1+log(c2pistar))*(c2pitar)))^c2gamdpc*(exp(c2yd)/exp(c2yd_pot))^c2gamgdpgap)^(1-c2gamrs);

//(c2rrs-c2rrsss) = (c2rs-c2rsss)-(c2dpd(+1)-c2dpdss);
1/(1+(c2rs)) = c2beta/c2grmuzss*(exp(c2lambdaq(+1)))/(exp(c2lambdaq))/(1+(c2dpd(+1)));

(exp(c2rpnepd)) = (exp(c2rpcpd))*(c2omegacc*(exp(c2c))/(exp(c2cne)))^(c2rhoo/(1+c2rhoo));

(c2dcore) = log(exp(c2rpnepd)/exp(c2rpnepd(-1))*(c2pid));



////////////////////////
//Important Definitions 
////////////////////////


// Definition of GDP using the Laspeyres index


c1logdeltagdp =   log((  exp(c1y) - exp(c1rpwopd(-1)) * exp(c1oy) +  exp(c1rpwopd(-1)) * exp(c1yo)) /( exp(c1y(-1)) - exp(c1rpwopd(-1)) * exp(c1oy(-1)) +  exp(c1rpwopd(-1)) * exp(c1yo(-1)) ));// 
c2logdeltagdp =   log((  exp(c2y) - exp(c2rpwopd(-1)) * exp(c2oy) +  exp(c2rpwopd(-1)) * exp(c2yo)) /( exp(c2y(-1)) - exp(c2rpwopd(-1)) * exp(c2oy(-1)) +  exp(c2rpwopd(-1)) * exp(c2yo(-1)) ));// 

c1rngdpy =   (1  - exp(c1rpwopd)* exp(c1oy) / exp(c1yd) + exp(c1rpwopd) *  c1shareyoy*c1yss*exp(c1yo) /exp(c1yd));

c2rngdpy =   (1  - exp(c2rpwopd)* exp(c2oy) / exp(c2yd) + exp(c2rpwopd) *  c2shareyoy*c2yss*exp(c2yo) /exp(c2yd));


///////////////////////////////////////////////////////////
// Relationships between Model variables and observed data
///////////////////////////////////////////////////////////


//observation equation for GDP (see Relationships between model variables and observed data in Bodenstein & Guerrieri (2011) appendice and  Pfeifer (2013) )
//log_gdp_jp_obs - log_gdp_jp_obs(-1) = log( (  c1y - c1rpopd(-1) * c1oy +  c1rpopd(-1) * c1yo) /(c1y(-1) - c1rpopd(-1) * c1oy(-1) +  c1rpopd(-1) * c1yo(-1))); 
//log_gdp_for_obs - log_gdp_for_obs(-1) = log( (  c2y - c2rpopd(-1) * c2oy  +  c2rpopd(-1) * c2yo) /(c2y(-1) - c2rpopd(-1) * c2oy(-1) +  c2rpopd(-1) * c2yo(-1))); 


//eq.1
//deltalog_gdp_jp_obs =  log( (c1y - c1rpopd(-1) * c1oy +  c1rpopd(-1) * c1yo )  /  (c1y(-1) - c1rpopd(-1) * c1oy(-1) +  c1rpopd(-1) * c1yo(-1)) )  +  (c1mugdpss - 1); //Original Model Non_demeaned
//deltalog_gdp_for_obs =  log( (c2y - c2rpopd(-1) * c2oy +  c2rpopd(-1) * c2yo) / (c2y(-1) - c2rpopd(-1) * c2oy(-1) +  c2rpopd(-1) * c2yo(-1)) ) +  (c2mugdpss - 1);//Original Model Non_demeaned
//log-deviation of variable xt from its steady state is yhat_t = LN(y_t) - LN(y_steadystate) CONFIRM with PROFESSOR see the logs 
//deltalog_gdp_jp_obs =  log( (c1y - c1rpopd(-1) * c1oy +  c1rpopd(-1) * c1yo ))  - log( (c1y(-1) - c1rpopd(-1) * c1oy(-1) +  c1rpopd(-1) * c1yo(-1)) ) +  (c1mugdpss - 1) ;//matched to non-demeaned growth rate, useful to estimation purposes
//deltalog_gdp_for_obs  =  log( (c2y - c2rpopd(-1) * c2oy +  c2rpopd(-1) * c2yo)) - log( (c2y(-1) - c2rpopd(-1) * c2oy(-1) +  c2rpopd(-1) * c2yo(-1)) ) +  (c2mugdpss - 1) ;//matched to non-demeaned growth rate, useful to estimation purposes


deltalog_gdp_jp_obs = c1logdeltagdp +  (c1mugdpss - 1 ) ;//matched to non-demeaned growth rate, useful to estimation purposes
deltalog_gdp_for_obs = c2logdeltagdp +  (c2mugdpss - 1) ;//matched to non-demeaned growth rate, useful to estimation purposes

dpcexfe_log_jp_obs  =  c1dcore ; //matched to log level  d1core is the net inflation
rer_log_jp_obs = c1rer ; //matched to log level
dcomp_log_jp_obs  = log(c1omega) ; //  matched to growth rate, using (non-demeaned) first differences in order to not being required to take a stance on the mean Pfeifer(2013) pg.59
// c1omega is the gross inflation

fedfunds_jp_obs = c1rs;// matched to net inflation
 
//fixi_share_jp_obs = c1rpipd * c1i/c1y * (1 / ( 1 - (c1rpopd * c1oy / c1y) + (c1rpopd * c1yo/c1y)) )  ;
fixi_share_jp_obs = ((exp(c1rpipd) * exp(c1i)) / exp(c1yd)) / c1rngdpy;    

//pce_share_jp_obs =  c1rpcpd * c1c  /  c1yd  * ( 1 / c1rngdpy )  ;
pce_share_jp_obs =  (( (exp(c1rpcpd) * exp(c1c)) / exp(c1yd)) /c1rngdpy   ) ;

//exp_share_jp_obs = c1x / c1y  * (1 / ( 1 - ( c1rpopd * c1oy / c1y ) + ( c1rpopd   * c1yo / c1y )) ) ;
exp_share_jp_obs = ( exp(c1x) / exp(c1yd) ) / c1rngdpy  ; 

//imp_share_jp_obs = c1m / c1y  * (1 / ( 1 - ( c1rpopd * c1oy / c1y ) + ( c1rpopd   * c1yo / c1y )) ) ;
imp_share_jp_obs = exp(c1rpmcpd) * (exp(c1m) / exp(c1yd) ) / c1rngdpy  ; 

oilimp_share_jp_obs = exp(c2rpwopd)  * (  exp(c1o) / exp(c1y) - exp(c1yo) / exp(c1y)  ) * (1 / c1rngdpy );

oilprod_jp_deltalog_obs = c1yo(-1) - c1lagyo(-1) + ( c1grmuoss  - 1 );//c1dyo + ( c1grmuoss  - 1 ) //matched to non-demeaned growth rate, useful to estimation purposes
oilprod_for_deltalog_obs = c2yo(-1) - c2lagyo(-1) + ( c2grmuoss  - 1 );//c2dyo + ( c2grmuoss  - 1 ) //matched to non-demeaned growth rate, useful to estimation purposes

delta_logoilprice_jp_obs =  c1rpwopd -  c1rpwopd(-1) +  ( c1grmuzoss * c1mugdpss  -  c1grmuzss ) / c1grmuzss ; //matched to non-demeaned growth rate, useful to estimation purposes

fixi_share_for_obs = ((exp(c2rpipd) * exp(c2i)) / exp(c2yd)) / c2rngdpy;    	
imp_share_for_obs = exp(c1rpmcpd) * ( exp(c2m) / exp(c2yd) ) / c2rngdpy  ; 	
pce_share_for_obs = (( (exp(c2rpcpd) * exp(c2c)) / exp(c2yd)) /c2rngdpy   ) ;	
gov_share_for_obs  = ( exp(c2g)/ exp(c2yd) ) / c2rngdpy  ; 	
exp_share_for_obs = ( exp(c2x) / exp(c2yd) ) / c2rngdpy  ; 	
gov_share_jp_obs = ( exp(c1g)/ exp(c1yd) ) / c1rngdpy  ; 	
hours_dlog_jp_obs = c1l - c1l(-1) ; 

end;


shocks;
var c1shockgyerr; stderr 1;
var c1zcerr; stderr 1;
var c1zierr; stderr 1;
var c1yoerr; stderr 1;
var c1muocerr; stderr 1;
var c1mucerr; stderr 1;
var c1omegacmerr; stderr 1;
var c2shockgyerr; stderr 1;
var c2zcerr; stderr 1;
var c2zierr; stderr 1;
var c2yoerr; stderr 1;
var c2muocerr; stderr 1;
var c2mucerr; stderr 1;
var c2omegacmerr; stderr 1;
var c1zwerr; stderr 1;
var c1muowerr; stderr 1;
var c2thetapvarerr; stderr 1;
var c1thetapvarerr; stderr 1;
var c2thetawvarerr; stderr 1;
var c1thetawvarerr; stderr 1;
var c1pitarerr; stderr 1;
var c2pitarerr; stderr 1;
end;

resid(1);
steady;
check;

estimated_params;



     //c1omegaoc, .0079, , , normal_pdf, 0.0079, 0.005; // weight on oil in consumption see FUEL CONSUMPTION FOR RESIDENTIAL AND COMMERCIAL USE (F.Y.1990--2012).xls					     
     //c1omegaoy, .0084, , , normal_pdf, 0.0084, 0.005; // weight on oil in production see FUEL CONSUMPTION FOR RESIDENTIAL AND COMMERCIAL USE (F.Y.1990--2012).xls				
     //c1omegamc, .061, , , normal_pdf, 0.061, 0.002; // weight on imports in consumption see REST OF THE WORLD ACCOUNTS (C.Y.2005--12, F.Y.2005--12) .xls 
     //c1omegami, .32, , , normal_pdf, 0.32, 0.001; // weight on imports in investment see REST OF THE WORLD ACCOUNTS (C.Y.2005--12, F.Y.2005--12) .xls             

      //c1grmuzss, 1.0058, ,  ,normal_pdf, 1.0058, 0.001;//'c1muzss', 1,1.1,'Growth Rate of Technology (gross)';...        
 
    
    //c2omegaoc, .041, , ,  normal_pdf, 0.041, 0.01; // weight on oil in consumption CALIBRATED 
    //c2omegaoy,.057, , , normal_pdf, 0.057, 0.01; // weight on oil in production CALIBRATED
    //c2omegamc, .039, , , normal_pdf, 0.039, 0.01; // weight on imports in consumption CALIBRATED
    //c2grmuzss, 1.0058, ,  ,normal_pdf, 1.0058, 0.001; // Technology, level error correlation coefficient 
    //c2omegami, .25, , , normal_pdf, 0.25, 0.1; // weight on imports in investment CALIBRATED  

//c1alphaop, 0.999, , , normal_pdf, 0.999, 2; //related with oil supply 
//c1deltao, 0.4, , ,normal_pdf, 0.4, 0.01;//related with oil supply 

//c1delta, 1, , ,normal_pdf, 0, 1;//0.025
c1delta, 0.025, , ,normal_pdf, 0.025, 0.2;//0.025           
       //c1beta, 1, , ,normal_pdf, 0, 2; //'c1beta',0.95,1.01,'Discount Factor';
//c1phimc, 1, , ,normal_pdf, 0, 2;//0'c1phimc', 0,100, 'Nonoil Trade Adjustment Costs';... Stevens Phd

//c1phioc, 1, , ,gamma_pdf, .5, .15;//0'c1phioc', 0, 100, 'Adjustment Costs For Oil Demand';... Stevens Phd
//c1phioc, , , ,gamma_pdf, 1, .5;//0'c1phioc', 0, 100, 'Adjustment Costs For Oil Demand';... Stevens Phd



c1grmuoss, , , ,normal_pdf, 1.003771117, .005;// growth of oil supply steady state calibrated parameter...steady state calibrated parameter
c1grmuzoss, , , ,normal_pdf, 1.009843865, .0015;//;// price of oil growth...steady state calibrated parameter 
      //c1grmuzss = c1grmuzoss * c1grmuoss;//'c1muzss', 1,1.1,'Growth Rate of Technology (gross)';...steady state calibrated parameter
c1vkappa, , , , beta_pdf, 0.8, 0.1;//'c1vkappa', 0.0, 0.98,'Habits in Consumption';... US 0.6512  Bank of Japan 2010 
c1psii, , , , gamma_pdf, 2, 1; //'c1psii',0,50,'Investment Adjustment Cost';...   Bank of Japan 2010 PROBLEM

c1telast,.878 , , ,normal_pdf, .878, .8; //elasticity of substitution between domestic goods and imports 
c1oelast, , , ,gamma_pdf, .5, .45; //elasticity of substitution between oil and domestic consumption Stevens Phd
c1kelast, , , ,gamma_pdf, .5, .45;//K-L elasticity of substitution;
c1omegal, , , ,normal_pdf, 1, .8;//weight of labor in CES aggregator
c1less, , , ,normal_pdf, .333, .3;//share of time spent working
c1chi, , , ,normal_pdf, 59.54, 15;//determines labor supply elasticity
            //c1iotap, , , ,normal_pdf, 0.00000045, .000000025;//lagged price  indexation
            // c1iotaw, , , ,normal_pdf, 0.00000045, .000000032;//lagged wage indexation
c1xip, , , , beta_pdf, .81, 0.15;//Calvo Price Parameter  Hirose(2014)
            //c1xiw, , , , beta_pdf, .889, 0.15;//Calvo wage Parameter Hirose(2014)
c1thetap, , , , gamma_pdf, .1, 0.05;
c1thetaw, , , , gamma_pdf, .1, 0.05;

c1gamrs,0.65 , , , beta_pdf, .7, .15;//'c1gamrs',0,0.95,'Policy Rate Smoothing'; 0.655386 Bank of Japan (2010)
c1gamdpc,0.19 , , , normal_pdf, 1.5, .5;//'c1gamdpc',.01,10,'Weight on Inflation in Monetary Policy Rule';...US 0.190719  Bank of Japan(2010) SAME MONETARY RULE
c1gamgdpgap, , , , normal_pdf, .5 , .1;// US'Weight on Output Gap in Monetary Policy Rule';...  US 3.272048001401e-007 1 Bank of Japan (2010)

//c1tauw, , , , beta_pdf, .1, .015;//Lagged wage indexation Hirose(2014) NOT a deep parameter  c1tauw = c1thetaw
//c1taup, , , , beta_pdf, .11, .05;//Lagged price indexation Hirose(2014) NOT a deep parameter  c1tauw = c1thetaw
//c1gamrs2, , , , beta_pdf, 0.65533860773213, .15;//monetary policy.7, .15  0.65533860773213 US
//c1gamdpc2, , , , normal_pdf, 0.19071900990448, .5;// monetary policy 1.5, .5
      //c1gamdpwo, , , , gamma_pdf, .1, .01;//monetary policy 0.000000010292301 US
      //c1gamomega,0.000000002585413 , , , gamma_pdf, 0.000000002585413,  0.0000000002;//monetary policy 0.000000002585413 US

c1pistar, 1.006651291, , ,normal_pdf, 1.006651291, .009; //steady State Inflation'; Hirose(2014) ... average mean of dpcexfe_Jp_obs
//c1rsss, 0.009196973, , ,normal_pdf, 0.009196973, .005;//steady state real interest rate  Hirose(2014).... 0.01 US  average mean of fedfunds_Jp_obs

c1rhopitar, 0.40261163739417, , , normal_pdf, .402, .15;//U.S. Monetary Policy, AR(1) coef.';... Hirose(2014)
c1scalepitarerr, 0.021694152070317 , , ,inv_gamma_pdf, 0.021694152070317 , 0.0005;//standard deviation of U.S. Monetary Policy
        // c1scalepitarerr,0.021694152070317 , , ,normal_pdf, 0.021694152070317 , 0.002;//standard deviation of U.S. Monetary Policy

c1rhozi, 0.9059, , , normal_pdf, .9, 0.1;//Investment Technology, AR coef.';...   Bank of Japan (2010)
c1scalezierr, 0.0265, , , inv_gamma_pdf, 0.0265, 0.02;//U.S. Inv. Tech. st. dev. of innovation';...Bank of Japan (2010) 
//c1scalezierr,0.0265 , , ,normal_pdf, 0.0265, 0.02;//standard deviation of U.S. Monetary Policy

c1rhogy,0.99899999803367 , , , normal_pdf, 0.99899999803367, 0.001;//'c1rhogy', arlowerbound, arupperbound, 'U.S. Government Expenditure Shock AR(1) coef.';... 0.9989 US Bank of Japan (2010)
c1scaleshockgyerr, 0.024627248911243, , , inv_gamma_pdf, 0.024627248911243, 0.02;//U.S. Gov. Exp. st. dev. of innovation';  Bank of Japan (2010)...
//c1scaleshockgyerr, 0.0246, , , normal_pdf, 0.0246, 0.05;//U.S. Gov. Exp. st. dev. of innovation';  Bank of Japan (2010)...

c1rhozc1,0.2162985427838 , , , normal_pdf, 0.2162985427838, .111;//0.2162 US // Technology, growth AR coef.';...  
c1rhozc2, 0.0001, , , normal_pdf, 0.0001, 0.0001;//Technology, level error corr. coef.';... 0.0001 US 
c1scalezcerr, , , , inv_gamma_pdf, 0.00655, 0.00005;//U.S. Technology, st. dev. of innovation';... 0.00655 US  0.005
            // c1scalezcerr, , , , normal_pdf, 0.00655, 0.00005;//U.S. Technology, st. dev. of innovation';... 0.00655 US  0.005

c1rhozw1, , , , normal_pdf, .01, 0.5;//World Technology, growth AR coef. ... 0.01 US Bank of Japan (2010)
c1rhozw2, , , , normal_pdf, .01, .03;//World Technology, level error corr. coef.';... 0.001 US  Bank of Japan (2010)
c1scalezwerr, 0.001, , , inv_gamma_pdf, 0.001, 0.0005;//'World Technology, st. dev. of innovation';... 0.001 US
         //c1scalezwerr, 0.001, , , normal_pdf, 0.001, 0.05;//'World Technology, st. dev. of innovation';... 0.001 U

c1rhomuow1,.001 , , , normal_pdf, .001, .005;// 'World Oil Demand, growth AR coef.' ;...  0.001 US     
c1rhomuow2, , , , normal_pdf, .001, .0015;// 'World Oil Demand, level error corr. coef.' ;... 0.001 US  
c1scalemuowerr, 0.001, , , inv_gamma_pdf, 0.001, 0.0005;//'World Oil Demand, st. dev. of innovation';... 0.001 US
//c1scalemuowerr, 0.001, , , normal_pdf, 0.001, 0.0005;//'World Oil Demand, st. dev. of innovation';... 0.001 US

c1rhothetapvar, 0.74013690353831, , , normal_pdf, 0.74013690353831, .015;//U.S. Price Markup, AR(1) coef.';... 0.7401 US
c1scalethetapvarerr, 0.4773, , , inv_gamma_pdf, 0.4773, 0.05;//U.S. Price Markup, st. dev. of innovation';... 0.4773 US  0.5
//c1scalethetapvarerr, 0.4773, , , normal_pdf, 0.4773, 0.05;//U.S. Price Markup, st. dev. of innovation';... 0.4773 US  0.5

c1rhothetawvar,0.97684135541579 , , , normal_pdf, 0.97684135541579, .005; // U.S. Wage Markup, AR(1) coef.';...0.9768 US Hirose(2014)
c1scalethetawvarerr, , , , inv_gamma_pdf, 3.698, 1; //U.S. Wage Markup, st. dev. of innovation';... 3.698 US Hirose(2014)  3
//c1scalethetawvarerr, , , , normal_pdf, 3.698, 1; //U.S. Wage Markup, st. dev. of innovation';... 3.698 US Hirose(2014)  3

c2rhoyo1, 0.0001, , , normal_pdf, 0.0001, .00013;//World Oil Supply, growth AR coef.';... 0.1243 US      
c2rhoyo2, 0.0001, , , normal_pdf, 0.0001, .0005;//World Oil Supply, level error corr. coef.';... 0.0001 US    
        //c2scaleyoerr, 0.0001, , , inv_gamma_pdf, 0.0001, 0.0001; //World Oil Supply, st. dev. of innovation';... 0.025 US THIS
        //c2scaleyoerr, 0.0001, , , normal_pdf, 0.0001, 0.0001; //World Oil Supply, st. dev. of innovation';... 0.025 US

c1rhoyo1, 0.12358342705819, , , normal_pdf, 0.12358342705819, .3;//U.S. Oil Supply, growth AR coef.';... 0.1243 US      
c1rhoyo2, 0.00010002809431871, , , normal_pdf, 0.0001, .0005;//U.S. Oil Supply, level error corr. coef.';... 0.0001 US   
c1scaleyoerr, 0.025, , , inv_gamma_pdf, 0.025, 0.001; // U.S. Oil Supply, st. dev. of innovation';... 0.025 US
//c1scaleyoerr, 0.025, , , normal_pdf, 0.025, 0.001; // U.S. Oil Supply, st. dev. of innovation';... 0.025 US

c1rhomuoc1, 0.00010294816003466, , , normal_pdf, 0.00010294816003466, .0005; //Oil Demand, growth AR coef.';... 0.0001 US 
c1rhomuoc2, 00.014468002404739, , , normal_pdf, 0.0144, .09; //Oil Demand, level error corr. coef.';... 0.0144 US  
c1scalemuocerr, 0.047, , , inv_gamma_pdf, 0.047,0.04 ; // U.S. Oil Demand, st. dev. of innovation';... 0.047 US 0.5
//c1scalemuocerr, 0.047, , , normal_pdf, 0.047,0.05 ; // U.S. Oil Demand, st. dev. of innovation';... 0.047 US 0.5

c2rhomuoc1, 0.00010294816003466, , , normal_pdf, 0.00010294816003466, .0005; //Oil Demand, growth AR coef.';... 0.0001 US 
c2rhomuoc2, 0.014468002404739, , , normal_pdf, 0.0144, .09; //Oil Demand, level error corr. coef.';... 0.0144 US  
c2scalemuocerr, 0.047, , , inv_gamma_pdf, 0.047, 0.04; // U.S. Oil Demand, st. dev. of innovation';... 0.047 US
//c2scalemuocerr, 0.047, , , normal_pdf, 0.047, 0.05; // U.S. Oil Demand, st. dev. of innovation';... 0.047 US
 
c1rhomuc , 0.91884316757498, , , beta_pdf, 0.9188, .05; //Consumption Shock, AR(1) coef.';... 0.9188 US
c1scalemucerr, 0.64843349359594, , , inv_gamma_pdf, 0.6484, 0.1; // U.S. Consumption Shock, st. dev. of innovation';... 0.6484 US
//c1scalemucerr, 0.6484, , , normal_pdf, 0.6484, 0.5; // U.S. Consumption Shock, st. dev. of innovation';... 0.6484 US

c2rhomuc , 0.91884316757498, , , beta_pdf, 0.91884316757498, .05; //Consumption Shock, AR(1) coef.';... 0.9188 US
c2scalemucerr, 0.6484, , , inv_gamma_pdf, 0.6484, 0.5; // U.S. Consumption Shock, st. dev. of innovation';... 0.6484 US
//c2scalemucerr, 0.6484, , , normal_pdf, 0.6484, 0.5; // U.S. Consumption Shock, st. dev. of innovation';... 0.6484 US

c1rhoomegacm1, 0.00010012294124003, , , normal_pdf, 0.00010012294124003, .0005; // Import, growth AR coef.';... 0.0001 US Hirose(2014)
c1rhoomegacm2, 0.0019042540938258, , , normal_pdf, 0.0019042540938258, .04; //Import, level error corr. coef.';... 0.0019 US  Hirose(2014)
c1scaleomegacmerr , 0.026284602245045, , , inv_gamma_pdf, 0.026284602245045, 0.01;  //U.S. Import, st. dev. of innovation';... 0.02684; US Hirose(2014)
//c1scaleomegacmerr , 0.02684, , , normal_pdf, 0.02684, 0.05;  //U.S. Import, st. dev. of innovation';... 0.02684; US Hirose(2014)

end;
           
//estimated_params_init(use_calibration);
//end;

//check;

varobs
deltalog_gdp_jp_obs deltalog_gdp_for_obs dpcexfe_log_jp_obs rer_log_jp_obs dcomp_log_jp_obs fedfunds_jp_obs fixi_share_jp_obs pce_share_jp_obs exp_share_jp_obs imp_share_jp_obs 
oilimp_share_jp_obs oilprod_jp_deltalog_obs oilprod_for_deltalog_obs delta_logoilprice_jp_obs hours_dlog_jp_obs;

//stoch_simul(periods=200,order=2,nocorr,noprint,irf=200) c1k, c1c, c1cne, c1cd, c1mc, c1oc, c1id, c1rpipd, c1mi, c1v, c1y, c1rk;
estimation(optim=('MaxIter',200), datafile=observationjpdat,  xls_sheet=Sheet1, xls_range=A2:N158,  mode_compute=4, mh_replic=18000, mh_nblocks=1,mh_jscale=0.000000008, bayesian_irf) c1k, c1c, c1cne, c1cd, c1mc, c1oc, c1id, c1rpipd, c1mi, c1v, c1y, c1rk; 
//0.0000000075

//estimation(optim=('MaxIter',200),datafile=observationjpdat,  xls_sheet=Sheet1, xls_range=A2:N158,mode_compute=0,first_obs=1, presample=4,lik_init=2,prefilter=0,mh_replic=0,mh_nblocks=2,mh_jscale=0.20,mh_drop=0.2, nograph, nodiagnostic, tex);
options_.groups{1}={'c1shockgyerr';'c2shockgyerr';'c1zierr';'c2zierr'};
options_.groups{2}={'c1omegacmerr';'c2omegacmerr';'c2thetawvarerr';'c1thetawvarerr';'c1mucerr';'c2mucerr'};
options_.groups{3}={'c1pitarerr';'c2pitarerr';'c1thetapvarerr'; 'c1thetapvarerr'};
options_.groups{4}={'c1muocerr';'c2muocerr';'c1yoerr';'c2yoerr';'c1muowerr'};
options_.groups{5}={'c1zcerr';'c2zcerr';'c1zwerr'};
options_.labels = char( 'Supply', 'Demand', 'Monetary', 'Oil', 'Technology');

shock_decomposition(parameter_set=posterior_mode)c1y, c1ygap, c2y, c1logdeltagdp, c2logdeltagdp;

identification(parameter_set=posterior_mode, ar=10);
//dynare_sensitivity(identification=1, morris=2);

write_latex_dynamic_model;

